nimbus-eth2/beacon_chain/rpc
Jacek Sieka 89d6a1b403
Introduce slot->BlockRef mapping for finalized chain (#3144)
* Introduce slot->BlockRef mapping for finalized chain

The finalized chain is linear, thus we can use a seq to lookup blocks by
slot number.

Here, we introduce such a seq, even though in the future, it should
likely be backed by a database structure instead, or, more likely, a
flat era file with a flat lookup index.

This dramatically speeds up requests by slot, such as those coming from
the REST interface or GetBlocksByRange, as these are currently served by
a linear iteration from head.

* fix REST block requests to not return blocks from an earlier slot when
the given slot is empty
* fix StateId interpretation such that it doesn't treat state roots as
block roots
* don't load full block from database just to return its root
2021-12-06 20:52:35 +02:00
..
rest_api.nim Validator key management API (#2755) 2021-10-04 22:08:31 +03:00
rest_beacon_api.nim Introduce slot->BlockRef mapping for finalized chain (#3144) 2021-12-06 20:52:35 +02:00
rest_config_api.nim v1.1.{5 -> 6} phase 0 and altair spec URL updates (#3157) 2021-12-03 17:40:23 +00:00
rest_constants.nim Remote signing client/server. (#3077) 2021-11-30 03:20:21 +02:00
rest_debug_api.nim altair fork handling cleanups (#3050) 2021-11-05 08:34:34 +01:00
rest_event_api.nim Improve chronos.Future tracking. (#2988) 2021-10-27 14:01:11 +02:00
rest_key_management_api.nim Remote signing client/server. (#3077) 2021-11-30 03:20:21 +02:00
rest_nimbus_api.nim Improve chronos.Future tracking. (#2988) 2021-10-27 14:01:11 +02:00
rest_node_api.nim Fix for /eth/v1/node/identity call missing `syncnets` parameter. 2021-12-01 18:39:43 +02:00
rest_utils.nim Introduce slot->BlockRef mapping for finalized chain (#3144) 2021-12-06 20:52:35 +02:00
rest_validator_api.nim Introduce slot->BlockRef mapping for finalized chain (#3144) 2021-12-06 20:52:35 +02:00
rpc_api.nim REST API client, JSON-RPC cleanups (#2756) 2021-08-03 17:17:11 +02:00
rpc_beacon_api.nim Broadcast blocks before integrating in ChainDAG 2021-12-06 17:15:47 +02:00
rpc_config_api.nim extend REST config with more spec constants (#2962) 2021-11-02 19:23:31 +01:00
rpc_debug_api.nim import cleanup (#2997) 2021-10-19 16:09:26 +02:00
rpc_event_api.nim import cleanup (#2997) 2021-10-19 16:09:26 +02:00
rpc_nimbus_api.nim Improve chronos.Future tracking. (#2988) 2021-10-27 14:01:11 +02:00
rpc_node_api.nim nim-libp2p auto bump (#2840) 2021-10-21 13:01:29 +02:00
rpc_utils.nim import cleanup (#2997) 2021-10-19 16:09:26 +02:00
rpc_validator_api.nim Broadcast blocks before integrating in ChainDAG 2021-12-06 17:15:47 +02:00