2017-08-13 82 views
10

Według Docs (http://godoc.org/github.com/btcsuite/btcrpcclient) opłata może być ustawiony za pomocąJak ustawić opłatę surowca transakcji bitcoin użyciu btcutil

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

ustawić opłatę 0.0000016 bitcoin/kilobajtów i zrobić następująco:

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

Ale gdy próbuję wysłać transakcję ja dostać

-26: 256: absurdly-high-fee 

jest jakiś inny sposób, aby ustawić opłatę przy użyciu tej biblioteki?

debug.log

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

kwot:

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

UPDATE Wydaje się, że próbuje wysłać całą kwotę transakcji, a nie ilość i chcesz to wysłać.

Jeśli transakcja w do A wynosi 1 BTC i chcę wysłać 0.3 BTC na inny adres, jak to osiągnąć przy ustalaniu kwot?

+0

Jak tworzysz swoją kwotę? Możliwe, że gdzieś wyrzuciłeś jakąś konwersję. –

+0

Zaktualizowany pierwszy wpis z kwotami. Opłata działa poprawnie przy użyciu SendFrom(), ale przy użyciu CreateRawTransaction SetTxFee wydaje się nie działać w ogóle. – Amidii

+0

Wygląda na to, że biblioteka została refaktoryzowana. Możesz lub nie chcesz aktualizować. Nowy Godoc znajduje się tutaj (https://godoc.org/github.com/btcsuite/btcd/rpcclient), a będziesz musiał pobrać nową bibliotekę. – RayfenWindspear

Odpowiedz

0

settxfee nie jest dla polecenia createrawtransaction.

jeśli masz jedno wejście z 1 BTC i wyślesz 0,9 BTC, więc pozostała kwota to opłata za transakcję.

jeśli nie chcesz ustawić opłaty transakcyjnej za 0,1 BTC możesz wysłać 0.09, aby zmienić adres i pozostawić 0.01 i to twoja opłata za transakcję.