Data from ancient blocks

New grin nodes don’t have old block data, even after syncing. This seems to be true even if the node is later switched to archive mode.

I’d like to look at the number of kernels in each of the early blocks. Can I get this from a node, or do I need to download the full chain from someone? If so, can anyone post the full archive data available for download? Thanks.

1 Like

Your node has that data, but you’ll probably need a custom API to retrieve it. Each header has the kernel mmr size, so by comparing with the previous header’s kernel mmr size, you can determine the number of kernels added and their indices. Then, looking them up is a matter of retrieving them from the kernel MMR by those indices.

If none of this makes sense, then tell me exactly what info you need, and I can export it for you.

1 Like

Put simply, if I send a GET to /v1/blocks/1, I don’t see any data from this API. However, if I had been running an archive node since genesis, I think I would then see data. (Recent blocks do yield data.)

If so, I’m looking for the /main/chain_data from anyone who did run this archive node, which I could then drop in and get data from the API. Is this correct?

1 Like

I understand your question, but I’m just saying that may not be an easy thing to come by. You mentioned needing kernels. If that’s all you need, technically they can be extracted from any node, and I’m offering to help with that (just tell me what format you want them in). If you need old outputs too though, then indeed you need some historical node’s chain_data

2 Likes

Hello @david!

I am facing the same issue, I am unable to retrieve data from blocks older than the recent 2000 blocks. Can you please help me with retrieving all the blocks from genesis?

Any help is appreciated since I am trying to solve this since quite some time now.

Seems like a cross-post but I did try to answer this here and added also an FAQ section. https://Grinnode.live Public GRIN API and sync service