체인에 주입하지 않고 작업 해시를 얻는 방법
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 옵션과 함께 전송 명령을 "dry-run"으로 사용할 수도 있습니다. 그러면 위조 및 검사 작업이 모두 수행되지만 가짜 주입 만 수행됩니다.
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.
-
연산을 위조 한 후에는 서명하고,데이터 벡터에 서명을 추가하고,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 해시를 얻습니까?