Skip to main content

eRPC is a fault-tolerant EVM RPC proxy and re-org aware permanent caching solution. It is built with read-heavy use-cases in mind such as data indexing and high-load frontend usage.

architecture diagram

Quickstart

  1. Create your erpc.yaml configuration file:
filename="erpc.yaml"
logLevel: debug
projects:
- id: main
upstreams:
# You don't need to define architecture (e.g. evm) or chain id (e.g. 59144)
# as they will be detected automatically by eRPC.
- endpoint: https://linea-mainnet.blastapi.io/xxxx
- endpoint: evm+alchemy://xxxx-my-alchemy-api-key-xxxx

View the complete config example for inspiration.

  1. Use the Docker image:
docker run -v $(pwd)/erpc.yaml:/root/erpc.yaml -p 4000:4000 -p 4001:4001 ghcr.io/erpc/erpc:latest
  1. Send your first request:
curl --location 'http://localhost:4000/main/evm/59144' \
--header 'Content-Type: application/json' \
--data '{
"method": "eth_getBlockByNumber",
"params": [
"0x7340c3",
false
],
"id": 9199,
"jsonrpc": "2.0"
}'
  1. Bring up the monitoring stack (Prometheus, Grafana) using docker-compose:
# clone the repo if you haven't
git clone https://github.com/erpc/erpc.git
cd erpc

# bring up the monitoring stack
docker-compose up -d
  1. Open Grafana at http://localhost:3000 and log in with the following credentials:
  • username: admin
  • password: admin
  1. Send more requests and watch the metrics being collected and visualized in Grafana.