2017-08-13 17 views
10

Theo các tài liệu (http://godoc.org/github.com/btcsuite/btcrpcclient) Phí có thể được thiết lập bằng cách sử dụngLàm thế nào để thiết lập lệ phí trong giao dịch Bitcoin liệu sử dụng btcutil

SetTxFee(fee btcutil.Amount) // hard coded0.0006 BTC 

tôi đặt lệ phí để 0,0000016 Bitcoin/kilobyte và làm như sau:

  1. ListUnspent
  2. SetTxFee
  3. CreateRawTransaction
  4. SignRawTransaction
  5. SendRawTransaction

Nhưng khi tôi cố gắng để gửi giao dịch tôi nhận được

-26: 256: absurdly-high-fee 

Có cách nào khác để thiết lập lệ phí sử dụng thư viện này?

Debug.log

ThreadRPCServer method=listunspent 
ThreadRPCServer method=settxfee 
ThreadRPCServer method=createrawtransaction 
ThreadRPCServer method=signrawtransaction  
ThreadRPCServer method=sendrawtransaction 

khoản:

amounts := map[btcutil.Address]btcutil.Amount{ 
    destAddress: destAmount, 
} 

CẬP NHẬT Nó có vẻ như nó cố gắng để gửi toàn bộ số tiền của giao dịch, chứ không phải số lượng i muốn nó gửi đi.

Nếu giao dịch đến A là 1 BTC và tôi muốn gửi 0,3 BTC đến địa chỉ khác, làm cách nào để đạt được điều này khi đặt số tiền?

+0

Bạn tạo số tiền bằng cách nào? Nó chỉ có thể là bạn goofed một chuyển đổi ở đâu đó. –

+0

Cập nhật bài đăng đầu tiên với số tiền. Phí hoạt động tốt khi sử dụng SendFrom() nhưng khi sử dụng CreateRawTransaction SetTxFee có vẻ không hoạt động chút nào. – Amidii

+0

Có vẻ như thư viện đó đã được cấu trúc lại. Bạn có thể hoặc không muốn cập nhật. Vị thần mới được đặt ở đây (https://godoc.org/github.com/btcsuite/btcd/rpcclient) và bạn sẽ cần phải "đi lấy' lib mới. – RayfenWindspear

Trả lời

0

settxfee không dành cho lệnh createrawtransaction.

nếu bạn có một đầu vào với 1 BTC và bạn sẽ gửi 0,9 BTC để số tiền còn lại là phí giao dịch.

nếu bạn không muốn đặt phí giao dịch cho 0,1 BTC, bạn có thể gửi 0,09 để thay đổi địa chỉ và để lại 0,01 và đó là phí giao dịch của bạn.

Các vấn đề liên quan