ledgerwatch / erigon

Ethereum implementation on the efficiency frontier
GNU Lesser General Public License v3.0
3.03k stars 1.05k forks source link

eth_getBlockByNumber returns null #10809

Closed dvovk closed 3 days ago

dvovk commented 1 week ago

System information

Erigon version: 2.60.1 chain: gnosis

User request: Can't query the block after #32810000 $ curl --location 'http://localhost:8545' \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc":"2.0", "method":"eth_getBlockByNumber", "params":[ "0x1F4A410", true ], "id":1 }' {"jsonrpc":"2.0","id":1,"result":null}

Debug request response is: Jun 19 18:20:13 gnosis-arch42 erigon[766187]: [INFO] [06-19|18:20:13.230] [dbg] BlockReader(idxMax=32809999,segMax=32809999).blockWithSenders(hash=cf01053f86f0421069363db342082a85edfbe3bc39ef8fea68cf90817d97ef26,blk=32810000) -> found_in_db=false

AskAlexSharov commented 1 week ago

integration print_stages can show what is last block in snapshots and first block in db. to re-download blocks in DB: integration stage_headers --reset (so, i think some previous versions of E2 had bug which fixed now, but need stage_headers --reset)

FYI: i have e3 gnosis node - which does return block data for this request.

awskii commented 3 days ago

user had pruned range starting from that block, did not return with new updates after 4 days and got same advises as Alex supposed + clarifications in that thread: https://discord.com/channels/687972960811745322/1252745101743226941