Raw-Transaction

要發送的 btc 值如何寫入原始交易?

  • January 6, 2022

我目前正在學習比特幣,我想出了這個: https ://medium.datadriveninvestor.com/bitcoin-raw-transaction-breakdown-c0a5a3aa8688了解更多關於原始交易的資訊。

我無法理解的是,他正在發送比特幣 0.00156636 BTC = 156636 Sat,那麼為什麼原始 tx 中的值是這樣的:60e3160000000000

最後的那些零總是寫的嗎?

礦工費是怎麼寫的?

連結到 blockchain.com 關於交易細節:https ://www.blockchain.com/btc/tx/2621c2609d114f652dadf6fd95820c021da1cf2d0ac15e0361fd5d136e30a3c4

我已經在這里為你回答了這個問題

金額應編碼為 8 個字節,採用 little-endian 格式。如果你想發送 100 萬聰,這將是 0x40420F0000000000。

總是寫入零,因為該值必須是 8 個字節長,最低有效字節在前。請注意,這是十六進製而不是十進制。

礦工費沒有寫在交易中。它是通過從輸入的總值中減去輸出的總值來計算的。不同的是收費。

實際上,這筆交易 ( 2621c2609d114f652dadf6fd95820c021da1cf2d0ac15e0361fd5d136e30a3c4) 的價值是255d020000000000,其中是 0.00154917 BTC 的 8 字節 little-endian 版本。為了解釋它,你反轉所有字節。忽略所有多餘的零,你得到0x025d25的是 154917 sats 或 0.00154917 BTC 的十六進制值。

這個事務,一旦被解析,看起來像這樣

01000000::版本。1 的小端表示

0x01:輸入計數,在這種情況下為一個

72f5d096ce8d2055d46db83cd969265f99146f09c30fd9c7b4e77e46830b6e7e00000000:先前的輸出,前 64 位是 txid,其餘 8 位是正在使用的 UTXO 的索引。

0x6a:scriptSig 的大小,在這種情況下為 106

473044022033bff843a014d1958eeb6f6dda47879a6cdab139cb85a818905c8e4f034c4bed022028361e8e3f43df257f31cd6c502b155facf70256d230e5cd059a8b83ef864f360121027580575d62d199ea4560451402b035eeb9786972d2c1a2c17b6e798d97265dda:一個非常大的 scriptSig

0xffffffff:nSequence

01:輸出計數,只有一個

255d020000000000:sats 和 little-endian的值 :scriptPubkey

0x19的大小:Spk

76a9145030f21fe34949ccacdd9505c50f223c5685f70588ac

00000000nLockTime

來源:比特幣維基

引用自:https://bitcoin.stackexchange.com/questions/111644