signature : Comment obtenir un hachage pour vérifier la transaction  ?


Voici comment les choses peuvent être faites à l’envers. Malheureusement, le mécanisme de vérification de bitcoin-explorer (bx) fonctionne un peu différemment mais assez similaire à ce à quoi vous vous attendiez. L’étape 4 ci-dessous peut fournir des détails qui pourraient être utiles pour ce que vous faites. L’étape 5 ci-dessous termine la validation hors ligne.

1. Voici le moyen simple de calculer les ID de transaction à partir des transactions hexadécimales brutes.

bx bitcoin256

bx tx-decode

ou alors

% bx fetch-tx -c ~/bitcoin-explorer/bx-mainnet-remote.cfg

signature : Comment obtenir un hachage pour vérifier la transaction  ?

que les deux donnent :

transaction

hachage

contributions

saisir

hachage

indice 2

scénario  » « 

séquence 4294967295

les sorties

production

script « dup hash160 equalverify checksig »

valeur 20480000

production

script « dup hash160 equalverify checksig »

valeur 61314356998

version 1

Signature au format Distinguished Encoding Rules (DER) =

R =

couper -c 9-74

S =

couper -c 79-142

Clé publique =

3. La 3ème sortie de TXID contient le script d’entrée d’origine qui a été signé, nécessite une requête en ligne supplémentaire  :

% bx fetch-tx -c ~/bitcoin-explorer/bx-mainnet-remote.cfg

transaction

hachage

contributions

saisir

hachage

indice 0

scénario  » « 

séquence 4294967295

les sorties

production

script « dup hash160 equalverify checksig »

valeur 12557630

production

script « dup hash160 equalverify checksig »

valeur 10100000

production

script « dup hash160 equalverify checksig »

valeur 61334886998

version 1

Script codé en ASCII = « dup hash160 equalverify checksig »

et en calculant l’adresse P2PKH correspondante  :

bx address-encode -v 0

4. Pour la conscience de soi, calculez le script codé en hexadécimal et la valeur sha256 associée  :

bx script-encode

bx sha256

5. Confirmez que la signature est valide à l’aide d’une commande hors ligne  :

bx entrée-valider -i 0 « dup hash160 equalverify checksig »

L’avenant est valable.