Run an RPC

Overview

Operators can deploy permissionless RPC nodes for the Lumia zkEVM.

dApp projects should ideally run their own RPC node to retrieve the necessary blockchain data and shouldn't rely on public infrastructure. Public endpoints may respond slowly or not at all during times of high network traffic, and are rate limited.

Requirements System

Note: Storage space requirements will increase as the network grows.

  • Linux OS

  • 32GB RAM

  • 1TB Storage (SSD)

Prerequisites

This tutorial requires Docker and Docker Compose to be installed on your machine. If you don't have these installed, check out the links provided below:

  • Docker: https://www.docker.com/get-started

  • Docker Compose: https://docs.docker.com/compose/install/

Ethereum RPC Node

A Beam chain (Ethereum testnet) RPC node is required for running a Lumia zkEVM testnet node. There are two options available:

  1. Set up your own - the Geth client is one example.

  2. Use an RPC provider endpoint - developers building on Lumia may be entitled to special offers or promos.

This document does not cover the installation of the Ethereum node. We will use a public RPC endpoint for this document, but keep in mind that this is not a viable production solution: public endpoints are rate limited and as a result, your Lumia zkEVM node may not synchronize correctly.

RPC via Docker Image

For a streamlined development experience, it’s highly recommended to utilize the below mentioned repository. The repo will be actively maintained by Lumia team and Docker images within dockerfile will be updated and will simply restarts services with new images to upgrade ForkIDs.

Steps

  1. Clone GitHub repository to your local machine:

git clone https://github.com/LumiaChain/cdk-validium-permissionless-node.git
  1. Navigate to the cloned directory:

cd cdk-validium-permissionless-node
  1. Copy the content of .env.example into the .env file and:

    1. Set CDK_ERIGON_L1_RPC_URL to a valid L1 RPC URL, e.g. from Alchemy or Infura. Make it a premium URL for better throughput and limits.

    2. Set NETWORK_ENV to testnet or mainnet accordingly.

  2. To start a node, run:

docker-compose up

Access from outside

To make an RPC endpoint URL available from outside, it is recommended to add an HTTP server.

Last updated

Was this helpful?