Ich versuche, manuell eine signierte Transaktion zu generieren, die von meiner Adresse im neuen Adressformat gesendet werden 1GiJZtN7wjUuL4V5i7ZYYDAvFtqi5AhCDr
soll . bitcoincash:qzk9nxh6qpd9yt3hvv6vvun78s834f3escdhu2vdjp
Ich verwende bei dieser Transaktion einen unkomprimierten öffentlichen Schlüssel.
Ich habe die folgende unsignierte Bitcoin Cash-Transaktion. Wie finde ich sein Hash-Preimage, das der Hash ist, der beim Signieren dieser Transaktion verwendet wird?
0100000001fb4a8e5c7ac5311f32fbe127f031134ee3e7490f3308ca19c567f78d6aa96d770000000000ffffffff0100a00700000000001976a914a8e181e0847b495df439066ca8fb36ce093692be88ac00000000
Zerlegt sieht es so aus:
01000000
- nVersion
01
- Anzahl Eingänge
fb4a8e5c7ac5311f32fbe127f031134ee3e7490f3308ca19c567f78d6aa96d77
- txid (Little-Endian)
00000000
- vout
00
- Größe des SignScripts
ffffffff
- Sequenznummer
01
- Anzahl Ausgänge
00a0070000000000
- Betrag (Hex, Little-Endian)
1976a914a8e181e0847b495df439066ca8fb36ce093692be88ac
- scriptPubKey
00000000
- timeLock
Ich versuche, die Ausgabe 0 der Transaktion mit txid: zu konsumieren 776da96a8df767c519ca08330f49e7e34e1331f027e1fb321f31c57a5c8e4afb
. Der scriptPubKey für die Ausgabe 0 dieser Transaktion lautet:
1976a914ac599afa005a522e376334c6727e3c0f1aa6398688ac
Der Wert der empfangenen Ausgabe beträgt 0,005 BCH
The transaction I am attempting to consume can be found here: https://bch.btc.com/776da96a8df767c519ca08330f49e7e34e1331f027e1fb321f31c57a5c8e4afb And the rawtx for the transaction I want to consume is here: https://bch.btc.com/776da96a8df767c519ca08330f49e7e34e1331f027e1fb321f31c57a5c8e4afb.rawhex
Kann mir jemand helfen?
Bitcoin Cash verwendet BIP 143 für die Signatur-Hash-Erstellung.
Von der BIP:
Double SHA256 of the serialization of: 1. nVersion of the transaction (4-byte little endian) 2. hashPrevouts (32-byte hash) 3. hashSequence (32-byte hash) 4. outpoint (32-byte hash + 4-byte little endian) 5. scriptCode of the input (serialized as scripts inside CTxOuts) 6. value of the output spent by this input (8-byte little endian) 7. nSequence of the input (4-byte little endian) 8. hashOutputs (32-byte hash) 9. nLocktime of the transaction (4-byte little endian) 10. sighash type of the signature (4-byte little endian)
Das Hash-Preimage sieht also so aus:
01000000be16f25831b40c713fed6627e39aa7717170f5cdd62c765bd4882abbefdaa50e3bb13029ce7b1f559ef5e747fcac439f1455a2ec7c5f09b72290795e70665044fb4a8e5c7ac5311f32fbe127f031134ee3e7490f3308ca19c567f78d6aa96d77000000001976a914ac599afa005a522e376334c6727e3c0f1aa6398688ac20a1070000000000ffffffffc8e2e71fe663fc91d7aa109feffee0f1497862af35525f68f500cbd55f6ed6620000000041000000
Und hier ist seine Aufschlüsselung:
nVersion: 01000000
hashPrevouts: be16f25831b40c713fed6627e39aa7717170f5cdd62c765bd4882abbefdaa50e
hashSequence: 3bb13029ce7b1f559ef5e747fcac439f1455a2ec7c5f09b72290795e70665044
outpoint: fb4a8e5c7ac5311f32fbe127f031134ee3e7490f3308ca19c567f78d6aa96d7700000000
scriptCode: 1976a914ac599afa005a522e376334c6727e3c0f1aa6398688ac
value: 20a1070000000000
nSequence: ffffffff
hashOutputs: c8e2e71fe663fc91d7aa109feffee0f1497862af35525f68f500cbd55f6ed662
nLocktime: 00000000
sighash: 41000000
Thorkil Værge
Andreas Chow
Thorkil Værge
Andreas Chow