Connect to Ethereum

This section will guide you through the process of connecting the Ethereum Light Client to an Ethereum node so that it can fetch the necessary data to generate the proofs.

There three main components that the Light Client needs to connect to:

  • Checkpoint provider: The Checkpoint Provider is responsible for providing the Light Client with the latest checkpoints made available for the sync protocol.
  • Beacon node: The Beacon Node is responsible for providing the Light Client with the necessary data to handle the parts of the proving related to consensus on the chain.
  • Execution RPC endpoint: The Execution RPC endpoint is responsible for providing the Light Client with the necessary data to prove value inclusion in the state of the chain.

Checkpoint Provider

The Checkpoint Provider is responsible for providing the Light Client with the latest checkpoints made available for the sync protocol. A community maintained list of Checkpoint Providers can be found on eth-clients.github.io.

For our Light Client, we recommend to use the https://sync-mainnet.beaconcha.in endpoint.

Beacon Node

The Beacon Node is responsible for providing the Light Client with the necessary data to handle the parts of the proving related to consensus on the chain. There are multiple ways to get such an endpoint, such as leveraging one provided by an infrastructure company (such as Ankr ...) or leverage a public one, such as the one provided by a16z.

In this documentation, we will use the endpoint https://www.lightclientdata.org.

Note

If you decide to use an infrastructure provider, make sure that the endpoints we need are properly available. Those endpoints can be found

in the BeaconClient file.

Execution RPC Endpoint

The Execution RPC endpoint is responsible for providing the Light Client with the necessary data to prove value inclusion in the state of the chain. The Light Client needs to connect to an Ethereum node that exposes the necessary RPC endpoints.

The RPC endpoint to be used to fetch this data is eth_getProof. This RPC endpoint can be access through various RPC provider such as Infura or Chainstack.