いくつかのブロックの祖先を呼び出すときに404エラー
1 回答
- 投票
-
- 2019-12-26
チェックポイントrpcを呼び出すことができます:
http://mainnet.tezos.cryptium.ch:8732/chains/main/checkpoint
戻る
{"block": {"level":729089, "proto":5, "predecessor":"BMF3ELahUsKsvSfct9qVFWX3Pf6aV2sLpKRgWkwTePpmo3tNjEG", "timestamp":"2019-12-09T21:56:50Z", "validation_pass":4, "operations_hash":"LLob8aa16cFyHG1rCrMQ2NrLDtCDegMNQLXmRWCHFD86KmYefbwbi", "fitness":["01","0000000000012001"], "context":"CoWPc7UaEHYdXJ3PEpp6CyKB11K9XgX4n87cJpAMuFzbyAerrHSD", "protocol_data": "0000756e6b6f8a3562bc00f131365318490b14b69329500a1f6e2000f0f767edf777ec9c6f33c6ff149eee289f642b2bdcbfdd8d54013da72eeedea56c1b828ba11c8adbd67f63f5e93578"}, "save_point":729089, "caboose":0, "history_mode":"full" }
history_modeは「フル」であり、フルノードはブロックのヘッダーと現在のチェックポイントの前のブロックからの操作以外のデータをプルーニングします.
フルモードでブロックのヘッダーのみをクエリすると、どのレベルでも機能します.例:
curl -v http://mainnet.tezos.cryptium.ch:8732/chains/main/blocks/BKrq16vch5v3iEE1hHSMENLh54vBikkmqYLDv4j7hANx6ZE3Rmb~72755/header
は機能します.残念ながら、フルモードでのブロック操作のRPCエンドポイントは現在壊れています-問題「フルノードができません最新のチェックポイントより前のブロックから操作データをクエリする」:これは現在、mainnet.smartpy.io(アーカイブノード)では表示されません.
編集:rpcがmainnet.smartpy.ioでも開かれるようになりました(「アーカイブ」が表示されます).
{ "block": { "level": 729089, "proto": 5, "predecessor": "BMF3ELahUsKsvSfct9qVFWX3Pf6aV2sLpKRgWkwTePpmo3tNjEG", "timestamp": "2019-12-09T21:56:50Z", "validation_pass": 4, "operations_hash": "LLob8aa16cFyHG1rCrMQ2NrLDtCDegMNQLXmRWCHFD86KmYefbwbi", "fitness": [ "01", "0000000000012001" ], "context": "CoWPc7UaEHYdXJ3PEpp6CyKB11K9XgX4n87cJpAMuFzbyAerrHSD", "protocol_data": "0000756e6b6f8a3562bc00f131365318490b14b69329500a1f6e2000f0f767edf777ec9c6f33c6ff149eee289f642b2bdcbfdd8d54013da72eeedea56c1b828ba11c8adbd67f63f5e93578" }, "save_point": 0, "caboose": 0, "history_mode": "archive" }```
You can call the checkpoint rpc:
http://mainnet.tezos.cryptium.ch:8732/chains/main/checkpoint
which returns
{"block": {"level":729089, "proto":5, "predecessor":"BMF3ELahUsKsvSfct9qVFWX3Pf6aV2sLpKRgWkwTePpmo3tNjEG", "timestamp":"2019-12-09T21:56:50Z", "validation_pass":4, "operations_hash":"LLob8aa16cFyHG1rCrMQ2NrLDtCDegMNQLXmRWCHFD86KmYefbwbi", "fitness":["01","0000000000012001"], "context":"CoWPc7UaEHYdXJ3PEpp6CyKB11K9XgX4n87cJpAMuFzbyAerrHSD", "protocol_data": "0000756e6b6f8a3562bc00f131365318490b14b69329500a1f6e2000f0f767edf777ec9c6f33c6ff149eee289f642b2bdcbfdd8d54013da72eeedea56c1b828ba11c8adbd67f63f5e93578"}, "save_point":729089, "caboose":0, "history_mode":"full" }
history_mode for this node is "full" and full nodes prune data other than block's headers and operations from blocks before the current checkpoint.
Querying only the block's header in full mode works at any level, e.g.:
curl -v http://mainnet.tezos.cryptium.ch:8732/chains/main/blocks/BKrq16vch5v3iEE1hHSMENLh54vBikkmqYLDv4j7hANx6ZE3Rmb~72755/header
works. Unfortunately, the RPC endpoint for block's operations in full mode is currently broken - see issue "Full node unable to query operation data from blocks prior to most recent checkpoint":This is currently not shown for mainnet.smartpy.io (which is an archive node).
Edit: the rpc is now opened as well on mainnet.smartpy.io (and shows "archive").
{ "block": { "level": 729089, "proto": 5, "predecessor": "BMF3ELahUsKsvSfct9qVFWX3Pf6aV2sLpKRgWkwTePpmo3tNjEG", "timestamp": "2019-12-09T21:56:50Z", "validation_pass": 4, "operations_hash": "LLob8aa16cFyHG1rCrMQ2NrLDtCDegMNQLXmRWCHFD86KmYefbwbi", "fitness": [ "01", "0000000000012001" ], "context": "CoWPc7UaEHYdXJ3PEpp6CyKB11K9XgX4n87cJpAMuFzbyAerrHSD", "protocol_data": "0000756e6b6f8a3562bc00f131365318490b14b69329500a1f6e2000f0f767edf777ec9c6f33c6ff149eee289f642b2bdcbfdd8d54013da72eeedea56c1b828ba11c8adbd67f63f5e93578" }, "save_point": 0, "caboose": 0, "history_mode": "archive" }```
-
SmartPyノードのチェックポイント:https://mainnet.smartpy.io/chains/main/checkpointSmartPy node checkpoint : https://mainnet.smartpy.io/chains/main/checkpoint
- 2
- 2019-12-26
- RoMarQ
-
@ RoMarQ、mainnet.smartpy.ioのチェックポイントrpcの出力を含めるように回答を編集しました.@RoMarQ, I edited my answer to include the output of the checkpoint rpc on mainnet.smartpy.io.
- 2
- 2019-12-26
- FFF
-
ありがとう!https://blog.nomadic-labs.com/introducing-snapshots-and-history-modes-for-the-tezos-node.htmlによると、操作の完全なセットは完全なノードに保存されます.オフセットがコンテキストの一部と見なされることを意味しますか?編集:詳細については、https://tezos.stackexchange.com/questions/1422/tezos-rpc-doesnt-respond-with-blocks-below-the-current-checkpointを参照してくださいThanks! According to https://blog.nomadic-labs.com/introducing-snapshots-and-history-modes-for-the-tezos-node.html the full set of operations are saved in full node. Does it mean offset is considered part of context ? EDIT: see https://tezos.stackexchange.com/questions/1422/tezos-rpc-doesnt-respond-with-blocks-below-the-current-checkpoint for more details
- 0
- 2019-12-26
- Ezy
一部のRPC呼び出しで異なる動作を観察しています
データが表示されない(エラー404)
ただし、いつ行うか
ブロック
BLeam7Xqdw7w7ydU7g38gs82XJE6wNZMfm61cArUPaSFBzJ6q5r
に関する情報を取得します.なぜですか?~1
のような最近のオフセットをリクエストすると、両方ともブロックBLN3bh4ZCpBtade3VGbGbFWz2Nhvah3SqGKYZkdL6tbQ7FMD6f6
編集:このRPC呼び出しでフルノードとアーカイブノードがどのように異なるかに関する関連質問が利用可能ですここ