問題タブ [tx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bitcoin - ビットコインの生のトランザクションを理解するのに助けが必要
bitcoin rawTX をダイジェストするための Python コードを書き込もうとしていますが、ステップ 2 でかなり行き詰っています。
どこを見ても、バージョンには 4 バイトのフィールドがあり、次に tx 入力の数には varint があると書かれています。
BIP69 は、バージョン 2 が存在する可能性があると言っていますが、下位互換性を維持したいため、フィールド サイズを拡張または変更するものは見当たりません。ただし、私の例は tx バージョン 1 です。
tx 入力の番号は 0x00 にすることはできず、0xfd 0xfe 0xff で始まる場合は 1 バイトより大きくすることしかできません。
例として、アドレス111qT5kHBkZ2q96iUxTY4DGUW2APSmCnzからの2つの入力と大量の出力を持つこの非Coinbase rawtxがあります
トランザクション ID txid: 9ea0df029f138e92f50379df6fde0ade9cf101cb8c975825c74188305cac6eed
https://sochain.com/tx/BTC/9ea0df029f138e92f50379df6fde0ade9cf101cb8c975825c74188305cac6eed
上記のリンクのRAW TXリンクを押すと、間違っていなければ最後の「tx_hex」フィールドである生のトランザクション
it starts with: 0100000000010264066fbd45afd2cedaf3638a9886f80c863e6fe083c797ac0c64c93998a7b10ffd03000023220020bdd68a4cff85348e9300087f455fbad025c1e7fb54bdbf17a8c044876309069dffffffff9cf4f90ec1d0c0eae485724c4dce55e4278a1f78016d224531552c20bb94f74c0000000023220020bdd68a4cff85348e9300087f455fbad025c1e7fb54bdbf17a8c044876309069dfffffffffd4f0544620000..................
これを ffffffff から逆に解釈しても、次のようになります。
01000000 -> 4バイトバージョン
00010264 -> ???????????? これはどのように 0x00 で開始できますか? 最初に表示される 02 は 2 バイト下にあり、0x64 は何ですか?
066fbd45afd2cedaf3638a9886f80c863e6fe083c797ac0c64c93998a7b10ffd -> https://bitcoin.stackexchange.com/questions/3374/how-to-redeem-a-basic-txに従って償還する入力の 32 バイトのハッシュ
03000023 -> 出力インデックス
22 -> varint スクリプト長の 1 バイト
0020bdd68a4cff85348e9300087f455fbad025c1e7fb54bdbf17a8c044876309069d -> 長さ 0x22 のスクリプト
ffffffff 9cf4f90ec.............
明らかにいくつかの情報が欠けています..誰かが少なくとも私にそれを指摘して、または私の考えが間違っていた場所を教えてもらえますか?