Décodez une opération hexadécimale Tezos
-
-
Les cordes hexadécimales doivent avoir des longueurs uniformes,despaires de chiffres hexadécimauxencodent un octet.Suppression des 11premiers caractèresn'apas de sens,vous vouliezprobablement supprimer les 10premiers caractères.Hexadecimal strings have to have even lengths, pairs of hexadecimal digits encode a byte. Removing the 11 first characters doesn't make sense, you probably wanted to remove the first 10 characters
- 0
- 2019-10-17
- Arthur B
-
1 réponses
- votes
-
- 2019-10-17
Vouspouvez utiliser lebinaire
tezos-codec
de la dernièrebranche de stadificationprincipalepour analyser ces octets. Ainsi,la demande de signatureesteffectivementpréfixéepar labalise1
+& lt; chaîne_id >
pour les cas deblocage. Lapartie restanteest l'en-tête deblocsnon signé lui-même quipeut être décodé:./decodetezos-codec 005-PsBabyM1.block_header.unsigned de 0000975c013df5a63ff9be180cec1769d316cd8623a60b32f6d365fcf996228cc7ff1e01cc000000005da772d20487083189e81a9e5b90313b7f1da145e4bf6fdfdf0189d842652d83392169d7d500000011000000010100000008000000000000975b1c3f3042b3a504e1e5a91179a7c5e245c163cde8f94cf5407cda36e15e8dfbc60000b87319134abf41d100 {"niveau": 38748,"proto": 1, "Prédécesseur": "BLBA1WBCNYG2QEGHAAKTZTFWFYOONVX8BFEQC8E33EPK8LDZFRW", "TimeStamp": "2019-10-16T19: 43: 14Z","validation_pass": 4, "Operations_Hash": "lloambdynbtvqyspahw3ftjbwmhgs8snq3gppwkvxdpxm2xo34dsm", "Fitness": ["01","000000000000975B"], "Contexte": "Courkpcsq7muau7vufdq77e7nsyseruwitBMMTB1NRNXWBLIFCJD", "priorité": 0,"épreuve_of_work_nonce": "B87319134ABF41D1"}
Vouspouvez également décrire son schéma:
./Tezos-codec décrit 005-psbabym1.block_header.unsigned schémabinaire
N.B: Votreprotocolepourraitne pas êtreidentiqueen fonction de labranche duprojet/protocole que vous utilisez. Néanmoins,vouspouvez récupérer la liste desidentifiantsprisen charge à l'aide de
./Tezos-codec Liste codingings
.You can use the
tezos-codec
binary from the latest mainnet-staging branch to parse these bytes. So, signing request are indeed prefixed by the tag1
+<chain_id>
for the block cases. The remaining part is the unsigned block header itself which can be decoded :./tezos-codec decode 005-PsBabyM1.block_header.unsigned from 0000975c013df5a63ff9be180cec1769d316cd8623a60b32f6d365fcf996228cc7ff1e01cc000000005da772d20487083189e81a9e5b90313b7f1da145e4bf6fdfdf0189d842652d83392169d7d500000011000000010100000008000000000000975b1c3f3042b3a504e1e5a91179a7c5e245c163cde8f94cf5407cda36e15e8dfbc60000b87319134abf41d100 { "level": 38748, "proto": 1, "predecessor": "BLBa1WbcNYG2qEgHAaktZTFwFyoonVX8BFeQc8E33ePK8LdZfrw", "timestamp": "2019-10-16T19:43:14Z", "validation_pass": 4, "operations_hash": "LLoaMBDyNbTVQyspAhW3ftJbwmHGS8Snq3gPpwKVxdPxM2xo34dSm", "fitness": [ "01", "000000000000975b" ], "context": "CoUrkPCSQ7MUau7vuFDq77e7nsYSeRUWiTBMmtB1NRNXwbLiFcJD", "priority": 0, "proof_of_work_nonce": "b87319134abf41d1" }
You may also describe its schema:
./tezos-codec describe 005-PsBabyM1.block_header.unsigned binary schema
N.B.: Your protocol might no be the same depending on which branch of the project / protocol you use. Still, you may retrieve the list of supported ids using
./tezos-codec list encodings
.-
Wow!Merci!Par curiosité,avez-vous été capable de décoder une opérationmanuellement?(etparmanuellement,je veux dire un outil Python/Go).Wow! Thanks! Out of curiosity, have you been able to decode an op manually? (and by manually, I mean some python/go tool).
- 0
- 2019-10-17
- utdrmac
i Ran Tezos-Baker avec l'option
-l
pour voirtous les appels RPC qu'ilpermet de construire unbloc. Finalement,je vois ceci:La charge utile/fonctionnement,(en hexadécimal) commencepar 01,indiquant que cette opérationest unbloc,suivi de 458AA837,quiest l'ID de chaîne (Babylonnet dans ce cas). Le resteest lebloc réel à signépar le Signateur HTTP Tezosexécuté sur Port 20001. La signature renvoyéeest affichée également.
Commentpuis-je décoder la charge utile restantepour voir le contenu actuel?
Unetentative de code Python donne des résultatsimpassibles:
Lenombre hexadécimal à 283est '9'. Supprimer de cela à lafin produit unbytassant:
Je crois que le 9 àboutest une somme de contrôle de quelque sorte.
Jene saispas comment convertir cela,ce queje crois devoir être JSON. Sije hex cela,je reçoisjuste ce quej'ai commencé avec,alors cen'estpas une aide. Tenter de Base58 Decode CebyTestring donne uneerreur: "codagenon valide,préfixe ouinadéquation de la longueur" Despensées? Très apprécié.