erigon
erigon copied to clipboard
Beacon Node API
Beacon Node API Implementation Roadmap
This document outlines the tasks to implement the Beacon Node API endpoints.
Beacon
- [x]
GET /eth/v1/beacon/genesis- Retrieve details of the chain's genesis. - [x]
GET /eth/v1/beacon/states/{state_id}/root- Get state SSZ HashTreeRoot. - [x]
GET /eth/v1/beacon/states/{state_id}/fork- Get Fork object for requested state. - [x]
GET /eth/v1/beacon/states/{state_id}/finality_checkpoints- Get state finality checkpoints. - [x]
GET /eth/v1/beacon/states/{state_id}/validators- Get validators from state. - [x]
GET /eth/v1/beacon/states/{state_id}/validators/{validator_id}- Get validator from state by id. - [x]
GET /eth/v1/beacon/states/{state_id}/validator_balances- Get validator balances from state. - [x]
GET /eth/v1/beacon/states/{state_id}/committees- Get all committees for a state. - [x]
GET /eth/v1/beacon/states/{state_id}/sync_committees- Get sync committees for a state. - [x]
GET /eth/v1/beacon/states/{state_id}/randao- Get the RANDAO mix for some epoch in a specified state. - [x]
GET /eth/v1/beacon/headers- Get block headers. - [x]
GET /eth/v1/beacon/headers/{block_id}- Get block header. - [ ]
POST /eth/v1/beacon/bLinded_blocks- Publish a signed block. - [ ]
POST /eth/v2/beacon/bLinded_blocks- Publish a signed block. - [x]
POST /eth/v1/beacon/blocks- Publish a signed block. - [x]
POST /eth/v2/beacon/blocks- Publish a signed block. - [x]
GET /eth/v1/beacon/blocks/{block_id}- Get block. - [x]
GET /eth/v2/beacon/blocks/{block_id}- Get block. - [x]
GET /eth/v1/beacon/blocks/{block_id}/root- Get block root. - [x]
GET /eth/v1/beacon/blocks/{block_id}/attestations- Get block attestations. - [x]
GET /eth/v1/beacon/blob_sidecars/{block_id}- Get blob sidecars. - [x]
POST /eth/v1/beacon/rewards/sync_committee/{block_id}- Get sync committee rewards. - [x]
GET /eth/v1/beacon/deposit_snapshot- Get Deposit Tree Snapshot. (Deprecated after Electra) - [x]
GET /eth/v1/beacon/rewards/blocks/{block_id}- Get block rewards. - [x]
POST /eth/v1/beacon/rewards/attestations/{epoch}- Get attestations rewards. - [x]
GET /eth/v1/beacon/bLinded_blocks/{block_id}- Get blinded block. - [x]
GET /eth/v1/beacon/light_client/bootstrap/{block_root}- Get 'LightClientBootstrap' structure for a requested block root. - [x]
GET /eth/v1/beacon/light_client/updates- Get 'LightClientUpdate' instances in a requested sync committee period range. - [x]
GET /eth/v1/beacon/light_client/finality_update- Get the latest known 'LightClientFinalityUpdate'. - [x]
GET /eth/v1/beacon/light_client/optimistic_update- Get the latest known 'LightClientOptimisticUpdate'. - [x]
GET /eth/v1/beacon/pool/attestations- Get Attestations from operations pool. - [ ]
POST /eth/v1/beacon/pool/attestations- Submit Attestation objects to node. - [x]
GET /eth/v1/beacon/pool/attester_slashings- Get AttesterSlashings from operations pool. - [x]
POST /eth/v1/beacon/pool/attester_slashings- Submit AttesterSlashing object to node's pool. - [x]
GET /eth/v1/beacon/pool/proposer_slashings- Get ProposerSlashings from operations pool. - [x]
POST /eth/v1/beacon/pool/proposer_slashings- Submit ProposerSlashing object to node's pool. - [x]
POST /eth/v1/beacon/pool/sync_committees- Submit sync committee signatures to node - [x]
GET /eth/v1/beacon/pool/sync_committees- Get sync committee signatures from operations pool. - [x]
POST /eth/v1/beacon/pool/voluntary_exits- Submit SignedVoluntaryExit object to node's pool. - [x]
GET /eth/v1/beacon/pool/voluntary_exits- Get SignedVoluntaryExit from operations pool. - [x]
GET /eth/v1/beacon/pool/bls_to_execution_changes- Get SignedBLSToExecutionChange from operations pool. - [x]
POST /eth/v1/beacon/pool/bls_to_execution_changes- Submit SignedBLSToExecutionChange object to node's pool.
Builder
- [x]
GET /eth/v1/builder/states/{state_id}/expected_withdrawals- Get the withdrawals that are to be included for the block built on the specified state.
Config
- [x]
GET /eth/v1/config/fork_schedule- Get scheduled upcoming forks. - [x]
GET /eth/v1/config/spec- Get spec params. - [x]
GET /eth/v1/config/deposit_contract- Get deposit contract address.
Debug
- [x]
GET /eth/v2/debug/beacon/states/{state_id}- Get full BeaconState object. - [x]
GET /eth/v2/debug/beacon/heads- Get fork choice leaves. - [x]
GET /eth/v1/debug/fork_choice- Get fork choice array.
Events
- [x]
GET /eth/v1/events- Subscribe to beacon node events.
Node
- [x]
GET /eth/v1/node/identity- Get node network identity. - [x]
GET /eth/v1/node/peers- Get node network peers. - [x]
GET /eth/v1/node/peers/{peer_id}- Get peer. - [x]
GET /eth/v1/node/peer_count- Get peer count. - [x]
GET /eth/v1/node/version- Get version string of the running beacon node. - [x]
GET /eth/v1/node/syncing- Get node syncing status. - [x]
GET /eth/v1/node/health- Get health check.
Validator
- [x]
POST /eth/v1/validator/duties/attester/{epoch}- Get attester duties. - [x]
GET /eth/v1/validator/duties/proposer/{epoch}- Get block proposers duties. - [x]
POST /eth/v1/validator/duties/sync/{epoch}- Get sync committee duties. - [x]
GET /eth/v2/validator/blocks/{slot}- Produce a new block, without signature. (DEPRECATED!) - [x]
GET /eth/v3/validator/blocks/{slot}- Produce a new block, without signature. - [x]
GET /eth/v1/validator/blinded_blocks/{slot}- Produce a new blinded block, without signature. (DEPRECATED!) - [x]
GET /eth/v1/validator/attestation_data- Produce an attestation data. - [ ]
GET /eth/v1/validator/aggregate_attestation- Get aggregated attestation. - [x]
POST /eth/v1/validator/aggregate_and_proofs- Publish multiple aggregate and proofs. - [ ]
POST /eth/v1/validator/beacon_committee_subscriptions- Signal beacon node to prepare for a committee subnet. - [x]
POST /eth/v1/validator/sync_committee_subscriptions- Subscribe to sync committee subnets. - [ ]
POST /eth/v1/validator/beacon_committee_selections- Determine if a distributed validator has been selected to aggregate attestations. - [ ]
GET /eth/v1/validator/sync_committee_contribution- Produce a sync committee contribution. - [ ]
POST /eth/v1/validator/sync_committee_selections- Determine if a distributed validator has been selected to make a sync committee contribution. - [x]
POST /eth/v1/validator/contribution_and_proofs- Publish multiple contribution and proofs. - [x]
POST /eth/v1/validator/prepare_beacon_proposer- Provide beacon node with proposals for the given validators. - [ ]
POST /eth/v1/validator/register_validator- Provide beacon node with registrations for the given validators to the external builder network. - [x]
GET /eth/v1/validator/liveness/{epoch}- Indicates if a validator has been observed on the network.
Rewards
- [x]
POST /eth/v1/beacon/rewards/sync_committee/{block_id}- Get sync committee rewards. - [x]
GET /eth/v1/beacon/rewards/blocks/{block_id}- Get block rewards. - [x]
POST /eth/v1/beacon/rewards/attestations/{epoch}- Get attestations rewards.
/validator endpoints: https://github.com/ledgerwatch/erigon/pull/9080
Rewards enpoints: https://github.com/ledgerwatch/erigon/pull/9102
This has been completed