bitcoin core : explique les champs de sortie et l'interprétation de decoderawtransaction


Votre message est un peu long, en échange de pile. des questions faciles à répondre – voir ici  :://bitcoin./help/how-to-ask

Vous avez probablement un exemple d’interprétation JSON comme référence. D’où l’avez-vous ? Comme tout le monde peut interpréter une transaction brute. C’est ambigu. Cela ressemblerait à ceci (non-segwit, pour rester facile. Segwit uniquement sur demande :-)

VERSION

Hash OutPoint (le tx précédent d’où proviennent les fonds)

Longueur du script (la longueur de la signature de script suivante)

Signature de script (signature)

Séquence (un champ de séquence, initialement destiné à désactiver le temps de verrouillage)

bitcoin core : explique les champs de sortie et l'interprétation de decoderawtransaction

Valeur (la valeur en Satoshis)

qui définit la condition, sous laquelle les fonds peuvent être dépensés)

LOCKTIME (heure au plus tôt ou bloc le plus tôt auquel cette transaction peut être ajoutée à la chaîne de blocs)

Comment la quantité de chaque entrée dans le sous-ensemble vin peut-elle être déterminée ?

Le logiciel de portefeuille aurait besoin de rechercher les valeurs lorsqu’il souhaite dépenser un nouveau tx. Par conséquent, une référence à un tx précédent est requise. S’il est insuffisant pour le courant dépensé.

Comment le scriptSig peut-il être validé, comme  : est l’entrée CLTV ou CSV

fermé à clé?

Je ne comprends pas ce que vous entendez par là. Scriptsig et CLTV/CSV ne sont pas directement liés à scriptsig. CLTV et CSV sont tous deux entrés dans le jeu par BIP-68 et BIP-112. CLTV (ainsi que locktime) sont tous deux des timelocks absolus, avec CSV. Ils définissent donc quand la sortie d’une transaction peut être dépensée. Cela vaut peut-être la peine de rechercher dans les BIP. Il y en a aussi beaucoup dans le forum ici et dans bitcointalk.

Scriptsig (en général) est validé avec le hachage et la clé publique. Le blog de Ken Shirrif (lien en bas) explique très bien. Scriptsig prouve que vous aviez la clé privée (« vous êtes le propriétaire légitime ») pour passer cette transaction. La clé privée signe un hachage du tx, qui est suivi de la clé publique. Il peut y avoir plus, mais je veux rester général. Voici un exemple de la façon dont vous pouvez vérifier une signature sur le shell des systèmes unixoide avec openssl (bitcoin utilise toujours des données codées en hexadécimal pour effectuer des hachages, et openssl a besoin d’une clé au format PEM)  :

sig=

pk=

hachage=

sed ‘s/]{2}/\x&/.hex

echo « += » > chat pubkey.pem

sed ‘s/]{2}/\x&/.hex

openssl pkeyutl