Tezos RPC non risponde con blocchi al di sotto del checkpoint corrente
2 risposta
- voti
-
- 2019-07-09
Ilpost delblog a cui haifatto riferimento dice che:
Unnodoin esecuzionein modalità
full
memorizzai dati della catena completapertuttii blocchi,anche quellipiù vecchi del checkpoint corrente. Piùprecisamente,mantiene le intestazioni e le operazioni per questiblocchi. Tuttavia,eliminail contesto archiviatoe l'operazionee blocca le ricevute . Diciamo chetaliinformazioni diblocco vengono "eliminate": conserviamo soloi bitnecessari che abbiamo ottenuto dalla retee rilasciamotutto ciò chepuòessere ricostruito daessi.Quindi questo spiegaperché l'endpoint
../<block_id>/header
funzionaperte,mentre l'endpoint "fullinformation"probabilmente richiede alcuneinformazioni che vengonoeliminate. Tuttavia,questa citazione dalpost delblogimplica che anche l'endpoint../<block_id>/operations
dovrebbefunzionaree dovrestiesserein grado di ricostruiretutte leinformazioni di cui haibisogno da queste dueparti di dati (intestazionee operazioni).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).-
Sfortunatamente,`GET/chains/main/blocks/212993/operations`funziona comeprevistoma` GET/chains/main/blocks/212992/operations`noUnfortunately, `GET /chains/main/blocks/212993/operations` works as expected but `GET /chains/main/blocks/212992/operations` doesn't
- 1
- 2019-07-09
- Ilya Peresadin
-
L'RPC/operationsnecessita diinformazioni ridotte.Ènecessario aggiungere unnuovo RPCper ottenerei dati delle operazioninonelaborate,senza le ricevute.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
Sitratta di unproblemanoto con lamodalità completa. Consulta Nodo completononin grado dieseguire query sui dati dell'operazionedaiblocchiprecedenti al checkpointpiù recente per ulterioriinformazioni.
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.
Hoeseguito lamiaistanza delnodo Tezose sembra cheilnodonon risponda conblocchi al di sotto del checkpoint corrente.
GET /chains/main/checkpoint
risposta:Quindi,comepossiamo vedere history_mode è "full". Secondo questo articolo https://blog.nomadic -labs.com/introducing-snapshots-and-history-modes-for-the-tezos-node.html node con questamodalitàmemorizzatuttii blocchi.
Ma, La risposta di
GET /chains/main/blocks/212992
è 404 Not Found, tuttavia,La risposta di
GET /chains/main/blocks/212992/header
è un'intestazione diblocco.GET /chains/main/blocks/212993
funziona correttamentee risponde a unblocco comeprevisto.Ho utilizzato l'immagine dockerper distribuireilnodo.
UPD : anche
GET /chains/main/blocks/212992/operations
nonfunziona