Wallet
如何獲得未確認交易的錢包費率(sat/byte)?
在區塊鏈瀏覽器(例如 blockchain.com)上,每筆未經確認的交易都有一個由錢包設置的所需費用,例如 58.000 sat/B。不要將這與實際的最終費用計算相混淆。
我的問題是他們如何獲得/計算送出交易的使用者錢包所需的費用?
這可以通過比特幣 JSON RPC api 實現嗎?
據我了解, getrawtransaction() 沒有提供發件人設置的費用的任何詳細資訊。此外,您還可以通過獲取使用者的錢包詳細資訊來獲取使用者設置的費率。如果是這樣,如果交易有兩個輸入,錢包費率集是如何計算的?
費率與交易的確認狀態無關。
就比特幣協議而言,費率很簡單
transaction fee (in sats)/transaction size (in bytes)
。因此,對於 100 字節的交易,支付 10000 satoshis 作為費用,費用率為10000/1000
,或 10 sats/字節。目前,您有兩種可能的費率:隔離見證和非隔離見證。
費率/重量單位,而不是費率/字節,旨在提供一致的費率視圖,無論交易是否具有隔離見證輸入。
計算保持不變 -
weight units/total fee
為您提供每個重量單位的費率,非隔離見證字節計為 4 個重量單位,隔離見證字節計為 1(這是一種簡化,全部細節不在費率範圍內) .要使用 Bitcoin Core 進行計算,只需通過 RPC 獲取交易詳細資訊。解碼後的響應包含一個
weight
欄位,然後您將其除以支付的總費用以確定每重量單位的費率。如果一筆交易有來自不同錢包的多個輸入,則費用仍然在交易級別支付 - 要確定特定輸入“支付”了多少費用,您需要確定誰收到了輸出,以及在哪裡改變了。一旦您知道輸出中斷,您就可以嘗試在參與者之間分配總費用。