Transactions
誰能解釋 RPC 中 getrawtransaction 和 gettransaction 的行為差異?
我在QT客戶端右鍵交易歷史,粘貼在下面的TxID中。
第一季度
在下面的測試中,誰能解釋一下後綴的用途
-000
和用途?gettransaction 54b9be14443b152b02ed0b18d27504631cccfa84ce9ada03f9558fbb85b6129c-000
第二季度
為什麼原始事務不支持與上一個命令相同的事務 ID 格式?(我需要刪除 -000 個字元)
getrawtransaction 54b9be14443b152b02ed0b18d27504631cccfa84ce9ada03f9558fbb85b6129c-000 ERROR: parameter 1 must be hexadecimal string
第三季度
當我
index=1
在 bitcoin.conf 中啟用並重新索引時,為什麼我不能呼叫GetTransaction
不在我錢包中的交易?我想要 JSON 友好的結果
Q1:錢包視圖中的分類賬條目對應於交易的單個輸出。後綴用於區分使用了交易的哪個輸出。以這種方式格式化它有點奇怪。在大多數地方,’:’ 用作分隔符。
Q2:
getrawtransaction
查詢記憶體池、未使用的交易輸出集和區塊鏈(如果txindex
啟用)以進行交易。它不查詢單個輸出,因此您只傳入十六進制標識符。您可以使用命令查詢單個未使用的交易輸出gettxout
(該命令將 txid + 輸出索引作為單獨的參數)。您可以將額外的 1 作為參數傳遞給 getrawtransaction 以對其進行解碼,而不僅僅是原始十六進制。decoderawtransaction
可以對任意十六進制編碼的原始交易執行此操作。也許這就是 Q3 的答案。Q3:
gettransaction
是一個錢包RPC。它不能對其他任何東西進行操作,因為它需要更高的抽象層。它計算借方/貸方和費用,這需要確定哪些輸出來自/到您,哪些是變化。這需要知道哪些密鑰屬於您。它不查詢區塊鏈,但您可以使用“getrawtransaction
[txid] 1”獲取區塊鏈交易的解碼形式(txindex
啟用)。