Ethereum with an external CL

Run an Ethereum node with Erigon and an external Consensus Layer (CL).

You can use Prysm, Lighthouse, or any other Consensus Layer client with Erigon by including the --externalcl flag. This integration enables direct access to the Ethereum blockchain, allowing you to manage your keys for staking ETH and block production.

Erigon with Prysm as the external CL

  1. Start Erigon adding the --externalcl flag:

    erigon --externalcl

    If your Consensus Layer (CL) client is on a different device, add the following flags:

    • --authrpc.addr 0.0.0.0, since the Engine API listens on localhost by default;

    • --authrpc.vhosts <CL_host> where <CL_host> is the source host or the appropriate hostname that your CL client is using.

  2. Install and run Prysm by following the official guide: https://docs.prylabs.network/docs/install/install-with-script.

    Prysm must fully synchronize before Erigon can start syncing, since Erigon requires an existing target head to sync to. The quickest way to get Prysm synced is to use a public checkpoint synchronization endpoint from the list at https://eth-clients.github.io/checkpoint-sync-endpoints.

  3. To communicate with Erigon, the --execution-endpoint must be specified as <erigon address>:8551, where <erigon address> is either http://localhost or the IP address of the device running Erigon.

  4. Prysm must point to the JWT secret automatically created by Erigon in the --datadir directory.

    ./prysm.sh beacon-chain \
    --execution-endpoint http://localhost:8551 \
    --mainnet --jwt-secret=<your-datadir>/jwt.hex \
    --checkpoint-sync-url=https://beaconstate.info \
    --genesis-beacon-api-url=https://beaconstate.info

Check Erigon and your chosen CL logs to make sure that the EL and CL are communicating and that your node is syncing correctly.

Last updated

Was this helpful?