チェーンに挿入せずに操作のハッシュを取得する方法
1 回答
- 投票
-
- 2019-08-06
rpcを使用すると、ノードを使用してリモートで操作を偽造できます. /chains/main/blocks/head/helpers/forge/operations. これはPOSTリクエストです.次のようなjsonファイルを指定する必要があります. {"branch":block_hash、 "contents":操作リスト}. 操作の種類は少し注意が必要です.ドキュメントは
http://tezos.gitlab.io/mainnet/api/rpc.html#post-block-id-helpers-forge-operations . したがって、操作のハッシュは、通常はヘッドハッシュと見なされる「ブランチ」に依存します.同じ「ブランチ」を注入すると同じハッシュになりますが、64レベルを超えると「ブランチ」が無効になるので注意してください. クライアントを使用している場合は、-Dオプションを指定した転送コマンドを「ドライラン」として使用することもできます.これにより、偽造とチェックのすべての作業が実行されますが、偽のインジェクションのみが実行されます. 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.
-
opを偽造した後、署名し、データベクトルに署名を追加し、そのblake2bハッシュ(32バイト)を取得し、0x0574を付加し、base58で結果をエンコードする必要があります.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
-
注入/操作データを使用する h:=blake2b.Sum256(rawBytes) ハッシュ:=CheckEncode(h [:]、opPrefix)Use injection/operation data h := blake2b.Sum256(rawBytes) hash := CheckEncode(h[:], opPrefix)
- 0
- 2020-07-23
- Crossle Song
ブロックチェーンに操作を挿入せずにtxnハッシュを取得できますか?注入した後、同じtxnハッシュを取得しますか?