Hier im grauen Bereich gezeigt , der beschreibt, wie Segwit meiner Meinung nach auf eine Transaktion angewendet wird (insbesondere ein Bitcoin Cash tx). Der letzte Abschnitt trägt den Titel „serialisierte signierte Transaktion“, es scheint jedoch nicht die endgültige Form des Roh-TX zu sein, die Sie kopieren und in eine Bitcoin-Wallet einfügen können, um „sendrawtransaction“ zu verwenden. Oder ist es das endgültige Roh-TX-Formular, trotz dessen, was es für mich zu sein scheint?
Beispiel für die endgültige Copy-and-Paste-Form eines Bitcoin-Cash-Tx: Tx f0b9313fc11ce5ec5ac619f35dcf332530e99d185d8ee79b913bcc0b8b5e6df1
01000000
01
f5a6acfe637ceb57552e703bd4a3bb7ae10c75e81886646cf4ca641881daa4a3
00000000
6b48304502210088b72059940330faa94940a6f37b1be4d926a4d246abda8a1e6174a3a00659
040220
06e0627d6525afa275c4e730799ac11c037eed2e35a0839afcc62dfe710afb3d
4121
035e366a13be81aaada32f309b289ca26741fd55c582d6d8d394f9be7c7519974f
feffffff
02643fcb1d00000000
1976a9149b52b7016d89c5ad7645a8bbc34719b46131545288ac
0094357700000000
1976a914787b7c14737c3956456f40cf7abfca9b641afd5788ac
00000000
Was die ursprüngliche Webseite zeigt (aber nicht für denselben TX):
01000000
00
01
02
fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f
00000000
494830450221008b9d1dc26ba6a9cb62127b02742fa9d754cd3bebf337f7a55d114c8e5cdd30be
0220
40529b194ba3f9281a99f2b1c0a19c0489bc22ede944ccf4ecbab4cc618ef3ed01
eeffffff
ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01
00000000
fffffff
0220
2cb20600000000
1976a9148280b37df378db99f66f85c95a783a76ac7a6d5988ac
9093510d00000000
1976a9143bde42dbee7e4dbe6a21b2d50ce2f0167faa815988ac
000247304402203609e17b84f6a7d30c80bfa610b5b4542f32a8a0d5447a12fb1366d7f01cc44a
0220
573a954c4518331561406f90300e8f3358f51928d43c212a8caed02de67eebee
0121
02
5476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357
11000000
Die von der Beispiel-Website zeigt, dass "00" und "02" am Anfang hinzugefügt werden, und dass ein riesiges Durcheinander von Sachen nach der endgültigen Ausgabe erwähnt wird. Doch das erste Beispiel, das ich gegeben habe, sind die Rohdaten direkt aus einer „Getrawtransaktion“ durch die Bitcoin-Cash-Brieftasche, und sie enthalten diese Dinge nicht und werden dennoch als gültig angesehen. Oder ist all das andere Zeug einfach nur "extra"?
Ich würde gerne etwas zu Ihrem "Durcheinander von Sachen" sagen ... vielleicht nicht der beste Weg, um Unterstützung zu bekommen, wenn Sie nicht verstehen, was es ist, und es als solches definieren. Ich dekodiere es hier für dich:
VERSION
01000000
SEGWIT (BIP141): this is a segwit tx, marker=00
(BIP141): flag=01
TX_IN COUNT [var_int]: hex=02, decimal=2
TX_IN[0]
TX_IN[0] OutPoint hash (char[32])
9F96ADE4B41D5433F4EDA31E1738EC2B36F6E7D1420D94A6AF99801A88F7F7FF
TX_IN[0] OutPoint index (uint32_t)
hex=00000000, reversed=00000000, decimal=0
TX_IN[0] Script Length (var_int)
hex=49, decimal=73
TX_IN[0] Script Sig (uchar[])
4830450221008B9D1DC26BA6A9CB62127B02742FA9D754CD3BEBF337F7A55D114C8E5CDD30BE022040529B194BA3F9281A99F2B1C0A19C0489BC22EDE944CCF4ECBAB4CC618EF3ED01
TX_IN[0] Sequence (uint32_t)
EEFFFFFF
TX_IN[1]
TX_IN[1] OutPoint hash (char[32])
8AC60EB9575DB5B2D987E29F301B5B819EA83A5C6579D282D189CC04B8E151EF
TX_IN[1] OutPoint index (uint32_t)
hex=01000000, reversed=00000001, decimal=1
TX_IN[1] Script Length (var_int)
hex=00, decimal=0
TX_IN[1] Sequence (uint32_t)
FFFFFFFF
TX_OUT COUNT, hex=02, decimal=2
TX_OUT[0]
TX_OUT[0] Value (uint64_t)
hex=202CB20600000000, reversed_hex=0000000006B22C20, dec=112340000, bitcoin=1.12340000
TX_OUT[0] PK_Script Length (var_int)
hex=19, dec=25
TX_OUT[0] pk_script (uchar[])
76A9148280B37DF378DB99F66F85C95A783A76AC7A6D5988AC
TX_OUT[1]
TX_OUT[1] Value (uint64_t)
hex=9093510D00000000, reversed_hex=000000000D519390, dec=223450000, bitcoin=2.23450000
TX_OUT[1] PK_Script Length (var_int)
hex=19, dec=25
TX_OUT[1] pk_script (uchar[])
76A9143BDE42DBEE7E4DBE6A21B2D50CE2F0167FAA815988AC
WITNESS TXIN[0] stack elements: hex=00, decimal=0
WITNESS TXIN[1] stack elements: hex=02, decimal=2
WITNESS data[0]:
47304402203609E17B84F6A7D30C80BFA610B5B4542F32A8A0D5447A12FB1366D7F01CC44A0220573A954C4518331561406F90300E8F3358F51928D43C212A8CAED02DE67EEBEE01
WITNESS data[1]:
21025476C2E83188368DA1FF3E292E7ACAFCDB3566BB0AD253F62FC70F07AEEE6357
LOCK_TIME
11000000
Die 02 am Anfang zeigt also zwei Eingänge an (TX_IN COUNT), und ihre Zeugendaten werden am Ende angezeigt.
Pieter Wuille
Pieter Wuille