Como obter hash de operação sem injetar na cadeia
1 responda
- votos
-
- 2019-08-06
Vocêpodeforjar operações remotamente usando umnó,com o RPC: Cadeias/Main/Blocks/Head/Ajudantes/Forge/Operações. Esta é uma solicitação depostagem,vocêtem que dar um arquivo JSON como: {"Branch":block_hash,"Conteúdo": lista de operações}. Otipo de operação é umpouco complicado,vocêpodeencontrar alguma documentaçãoem http://tezos.gitlab.io/mainnet/api/rpc.html#post-block-id-helpers-forge-Operações . Assim,o hash da operação depende do "ramo" que énormalmentetomado como hash hash.Se vocêinjetá-lo com omesmo "ramo",terá omesmo hash,masterá cuidado,uma vez que o "ramo" setornainválido após 64níveis. Se vocêestiver usando o cliente,tambémpoderá usar o comando detransferência com a opção -d como "dry-run",quefarátodo otrabalho deforjamentoe verificação,mas apenasfazer umainjeçãofalsa.
You can forge operations remotly using a node, with the rpc : /chains/main/blocks/head/helpers/forge/operations. This is a POST request, you have to give a json file like: { "branch" : block_hash, "contents" : operation list}. Operation type is a bit tricky, you can find some documentation in http://tezos.gitlab.io/mainnet/api/rpc.html#post-block-id-helpers-forge-operations. So the hash of the operation depends on the "branch" which is normally taken as the head hash. If you inject it with the same "branch" it will have the same hash, but be careful since the "branch" becomes invalid after 64 levels. If you are using the client, you can also use the transfer command with the -D option as "dry-run", that will do all the work of forging and checking but only do a fake injection.
-
Depois que vocêforjou um OP,vocêtem que assiná-lo,anexe a assinatura ao vetor de dados,tomar Blake2B Hash (32bytes),prepare 0x0574e base58 codificar o resultado.After you forged an op you have to sign it, append the signature to the data vector, take blake2b hash (32 bytes) of it, prepend 0x0574, and base58 encode the result.
- 0
- 2019-08-06
- Michael Zaikin
-
Use dados deinjeção/operação H:=blake2b.sum256 (rawbytes) hash:=checkendode (H [:],OPPREFIX)Use injection/operation data h := blake2b.Sum256(rawBytes) hash := CheckEncode(h[:], opPrefix)
- 0
- 2020-07-23
- Crossle Song
Posso obter o Hash TXN seminjetar operaçãona cadeia deblocos?Depois deinjetareuterei omesmo hash TXN?