Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the Eth Beacon Node API [Tracking Issue] #1006

Closed
17 of 73 tasks
jerabera opened this issue May 7, 2024 · 0 comments
Closed
17 of 73 tasks

Implement the Eth Beacon Node API [Tracking Issue] #1006

jerabera opened this issue May 7, 2024 · 0 comments
Labels
go Pull requests that update Go code node Related to the core beacon node

Comments

@jerabera
Copy link
Contributor

jerabera commented May 7, 2024

We need to add the Beacon Node API into beacon-kit. A list of endpoints and their specs from the official eth site is listed here.

Since different endpoints

Currently, progress is blocked by completion of the beacon-kit internal refactoring.

Related Issues/Work

Endpoint Progress

These are all the endpoints specified by the Eth Beacon Node API. Endpoints with priority are bolded (check relevant issues above). Endpoints that are required for the ValidatorRequiredAPI are marked with * (minimal set of endpoints to enable a working validator).

Beacon

  • * GET /eth/v1/beacon/genesis
  • GET /eth/v1/beacon/states/{state_id}/root
  • * GET /eth/v1/beacon/states/{state_id}/fork
  • GET /eth/v1/beacon/states/{state_id}/finality_checkpoints
  • GET /eth/v1/beacon/states/{state_id}/validators
  • POST /eth/v1/beacon/states/{state_id}/validators
  • * GET /eth/v1/beacon/states/{state_id}/validators/{validator_id}
  • GET /eth/v1/beacon/states/{state_id}/validator_balances
  • POST /eth/v1/beacon/states/{state_id}//validator_balances
  • GET /eth/v1/beacon/states/{state_id}/committees
  • GET /eth/v1/beacon/states/{state_id}/sync_committees
  • GET /eth/v1/beacon/states/{state_id}/randao
  • GET /eth/v1/beacon/headers
  • GET /eth/v1/beacon/headers/{block_id}
  • * POST /eth/v1/beacon/blocks/blinded_blocks
  • * POST /eth/v2/beacon/blocks/blinded_blocks
  • * POST /eth/v1/beacon/blocks
  • * POST /eth/v2/beacon/blocks
  • GET /eth/v2/beacon/blocks/{block_id}
  • GET /eth/v1/beacon/blocks/{block_id}/root
  • GET /eth/v1/beacon/blocks/{block_id}/attestations
  • GET /eth/v1/beacon/blob_sidecars/{block_id}
  • GET /eth/v1/beacon/deposit_snapshot
  • GET /eth/v1/beacon/blinded_blocks/{block_id}
  • GET /eth/v1/beacon/light_client/bootstrap/{block_root}
  • GET /eth/v1/beacon/light_client/updates
  • GET /eth/v1/beacon/light_client/finality_update
  • GET /eth/v1/beacon/light_client/optimistic_update
  • GET /eth/v1/beacon/pool/attestations
  • * POST /eth/v1/beacon/pool/attestations
  • GET /eth/v1/beacon/pool/attester_slashings
  • POST /eth/v1/beacon/pool/attester_slashings
  • GET /eth/v1/beacon/pool/proposer_slashings
  • POST /eth/v1/beacon/pool/proposer_slashings
  • *POST /eth/v1/beacon/pool/sync_committes
  • GET /eth/v1/beacon/pool/voluntary_exits
  • POST /eth/v1/beacon/pool/voluntary_exits
  • GET /eth/v1/beacon/pool/bls_to_execution_changes
  • POST /eth/v1/beacon/pool/bls_to_execution_changes

Builder

  • GET /eth/v1/builder/states/{state_id}/expected_withdrawals

Config

  • GET /eth/v1/config/fork_schedule
  • * GET /eth/v1/config/spec
  • GET /eth/v1/config/deposit_contract

Debug

  • GET /eth/v2/debug/beacon/states/{state_id}
  • GET /eth/v2/debug/beacon/heads
  • GET /eth/v1/debug/fork_choice

Event

  • * GET /eth/v1/events

Node

  • GET /eth/v1/node/identity
  • GET /eth/v1/node/peers
  • GET /eth/v1/node/peers/{peer_id}
  • GET /eth/v1/node/peer_count
  • GET /eth/v1/node/version
  • * GET /eth/v1/node/syncing
  • GET /eth/v1/node/health

Validator

  • * POST /eth/v1/validator/duties/attester/{epoch}
  • * GET /eth/v1/validator/duties/proposer/{epoch}
  • * POST /eth/v1/validator/duties/sync/{epoch}
  • * GET /eth/v3/validator/blocks/{slot}
  • * GET /eth/v1/validator/attestation_data
  • * GET /eth/v1/validator/aggregate_attestation
  • * POST /eth/v1/validator/aggregate_and_proofs
  • * POST /eth/v1/validator/beacon_committee_subscriptions
  • * POST /eth/v1/validator/sync_committee_subscriptions
  • POST /eth/v1/validator/beacon_committee_selections
  • * GET /eth/v1/validator/sync_committee_contribution
  • POST /eth/v1/validator/sync_committee_contribution
  • * POST /eth/v1/validator/contribution_and_proofs
  • * POST /eth/v1/validator/prepare_beacon_proposer
  • POST /eth/v1/validator/register_validator
  • POST /eth/v1/validator/liveness/{epoch}"

Rewards

  • POST /eth/v1/beacon/rewards/sync_committee/{block_id}"
  • GET /eth/v1/beacon/rewards/blocks/{block_id}
  • POST /eth/v1/beacon/rewards/attestations/{epoch}
@jerabera jerabera self-assigned this May 7, 2024
@itsdevbear itsdevbear added this to the Testnet - Beacon Core milestone May 12, 2024
@itsdevbear itsdevbear added go Pull requests that update Go code node Related to the core beacon node labels May 12, 2024
@itsdevbear itsdevbear removed this from the Testnet - Beacon Core milestone Jun 10, 2024
@calbera calbera closed this as completed Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go Pull requests that update Go code node Related to the core beacon node
Projects
None yet
Development

No branches or pull requests

3 participants