Tezos RPC는 현재 체크 포인트 아래의 블록으로 응답하지 않습니다
2 대답
- 투표
-
- 2019-07-09
참조하신 블로그 게시물에 따르면
<인용구>full
모드로 실행되는 노드는 현재 체크 포인트보다 오래된 블록을 포함하여 모든 블록에 대한 전체 체인 데이터를 저장합니다. 보다 정확하게는 이러한 블록에 대한 헤더 및 작업 을 유지합니다. 그러나 보관 된 컨텍스트 및 작업을 삭제하고 수신 을 차단합니다. 우리는 그러한 블록 정보가 "정리"되었다고 말합니다. 우리는 네트워크에서 얻은 필요한 비트 만 유지하고 재구성 할 수있는 모든 것을 삭제합니다.이는
../<block_id>/header
엔드 포인트가 작동하는 이유를 설명하는 반면,"전체 정보"엔드 포인트에는 정리 된 정보가 필요할 수 있습니다. 그러나 블로그 게시물에서 인용 한이 인용문은../<block_id>/operations
엔드 포인트도 작동해야하며이 두 부분에서 필요한 모든 정보를 재구성 할 수 있어야 함을 의미합니다. 데이터 (헤더 및 작업)The blog post you referenced says that:
A node running in
full
-mode stores the full chain data for all blocks, even the ones older than the current checkpoint. More precisely, it keeps the headers and the operations for these blocks. However, it discards the archived context and the operation and block receipts. We say that such a block information is “pruned”: we keep only the necessary bits that we got from the network, and drop everything that can be reconstructed from them.So this explains why the
../<block_id>/header
endpoint works for you, while the “full information” endpoint probably requires some information that is pruned. However, this quote from the blog post implies that the../<block_id>/operations
endpoint should work as well, and you should be able to reconstruct all the information you need from these two pieces of data (header and operations).-
불행히도`GET/chains/main/blocks/212993/operations`는 예상대로 작동하지만`GET/chains/main/blocks/212992/operations`는 작동하지 않습니다.Unfortunately, `GET /chains/main/blocks/212993/operations` works as expected but `GET /chains/main/blocks/212992/operations` doesn't
- 1
- 2019-07-09
- Ilya Peresadin
-
/operations RPC에는 정리 된 정보가 필요합니다.영수증없이 원시 작업 데이터를 가져 오기 위해 새 RPC를 추가해야합니다.The /operations RPC needs pruned info. A new RPC should be added for getting the raw operations data, without the receipts.
- 1
- 2019-07-10
- Tom
-
- 2019-12-26
이것은 전체 모드의 알려진 문제입니다. 작업 데이터를 쿼리 할 수없는 전체 노드를 참조하세요.자세한 내용은 가장 최근 체크 포인트 이전 블록에서 참조하세요.
This is a known issue with full-mode - please see Full node unable to query operation data from blocks prior to most recent checkpoint for more info.
내 자신의 Tezos 노드 인스턴스를 실행했는데 노드가 현재 체크 포인트 아래의 블록으로 응답하지 않는 것 같습니다.
GET/chains/main/checkpoint
응답 :그래서 우리가 볼 수 있듯이 history_mode는 "full"입니다. 이 기사에 따르면 https ://blog.nomadic -labs.com/introducing-snapshots-and-history-modes-for-the-tezos-node.html 이 모드의 노드는 모든 블록을 저장합니다.
하지만
GET/chains/main/blocks/212992
응답은 404 Not Found, 그러나GET/chains/main/blocks/212992/header
응답은 블록 헤더입니다.GET/chains/main/blocks/212993
이 제대로 작동하고 예상대로 블록에 응답합니다.도커 이미지를 사용하여 노드를 배포했습니다.
UPD :
GET/chains/main/blocks/212992/operations
도 작동하지 않습니다.