Come ottenere l'hash dell'operazione senza iniettare nella catena
1 risposta
- voti
-
- 2019-08-06
Èpossibile creare operazioniin remoto utilizzando unnodo,con rpc: /chain/main/blocks/head/helpers/forge/operations. Questa è una richiesta POST,devifornire unfilejson come: {"branch":block_hash,"contents": lista operazioni}. Iltipo di operazione è unpo 'complicato,puoitrovare della documentazionein http://tezos.gitlab.io/mainnet/api/rpc.html#post-block-id-helpers-forge-operations . Quindi l'hash dell'operazione dipende dal "ramo" chenormalmente vienepreso come hash head.Se loinietti con lo stesso "ramo" avrà lo stesso hash,mafai attenzionepoichéil "ramo" diventanon valido dopo 64 livelli. Se stai usandoil client,puoi anche usareil comandotransfer con l'opzione -D come "dry-run",chefaràtuttoil lavoro diforgiaturae controllomafarà solo unafakeinjection.
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.
-
Dopo aver contraffatto un'operazione,devifirmarla,aggiungere lafirma al vettore dati,prenderne l'hashblake2b (32byte),anteporre 0x0574e codificarebase58il risultato.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
-
Usa dati diiniezione/operazione h:=blake2b.Sum256 (rawBytes) hash:=CheckEncode (h [:],opPrefix)Use injection/operation data h := blake2b.Sum256(rawBytes) hash := CheckEncode(h[:], opPrefix)
- 0
- 2020-07-23
- Crossle Song
Posso ottenere l'hashtxn senzainiettare l'operazionenella catena diblocchi?Dopo l'iniezione otterrò lo stesso hashtxn?