Cómo obtener hash de operación sin inyectar en cadena
1 respuesta
- votos
-
- 2019-08-06
Puedeforjar operaciones deforma remota utilizando unnodo,conel rpc: /cadenas/principal/bloques/cabeza/ayudantes/forja/operaciones. Estaes una solicitud POST,debeproporcionar un archivojson como: {"branch":block_hash,"contents": lista de operaciones}. Eltipo de operaciónes unpoco complicado,puedeencontrar documentaciónen http://tezos.gitlab.io/mainnet/api/rpc.html#post-block-id-helpers-forge-operations . Portanto,el hash de la operación depende de la "rama" quenormalmente setoma como hashprincipal.Si loinyecta con lamisma "rama"tendráelmismo hash,perotenga cuidado ya que la "rama" se vuelveinválida después de 64niveles. Siestá utilizandoel cliente,tambiénpuede usarel comando detransferencia con la opción -D como "ejecuciónen seco",que harátodoeltrabajo defalsificación y verificación,pero solo hará unainyecciónfalsa.
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.
-
Después deforjar una operación,debefirmarla,agregar lafirma al vector de datos,tomarel hashblake2b (32bytes),anteponer 0x0574 y codificaren base58el 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
-
Usar datos deinyección/operación 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
¿Puedo obtener hashtxn sininyectar operaciónen la cadena debloques?¿Después de lainyección obtendréelmismo hashtxn?