🦥Erigon

Authors: [man4ela | catapulta.eth]

System Requirements

CPU

OS

RAM

DISK

8+ cores CPU

Debian 12/Ubuntu 22.04

=> 16 GB RAM

500GB (SSD or NVMe)

The Erigon XLayer archive node has a size of 36GB on August 9th, 2024

Setup production Erigon

Indexer Test for X Layer POI

Due to POI divergences found with X Layer, we created an initial test below for indexers that may indicate that their setup allows them to sync other subgraphs and be in majority consensus.

  • Sync the following subgraph: QmWHYMV9mPZ6zoomwWSZbN24sdGSEQhy1efritMiETpxqS

  • Query to grab the POI

{ "query": "{ proofOfIndexing(subgraph: "QmWHYMV9mPZ6zoomwWSZbN24sdGSEQhy1efritMiETpxqS", blockNumber: 3041190, blockHash: "0xa819924ad94bcf3295826d5ad916c9ef06fac8cb46a6273d3bcc7aec822e22e7", indexer: "0x0000000000000000000000000000000000000000") }" }

If there is a match for the Consensus POI provided below, it may indicate that their setup allows them to sync other subgraphs and be in the majority consensus. If they get a match for the Divergent POI, this can be an indication of a data determinism issue.

Consensus 0xa1223b5cbabf16d9896c2bd19099d08e5ce45c7ff308674b3ea7ada5367334bf

Divergent 0x411bf0293e96a1459167ef1828aa7d70cd6c2e1f8c4210e0edf0fa8827eeed69

  • Shell into your index node and run this curl command

curl -s -X POST -H "Content-Type: application/json" --data '{"query": "{ proofOfIndexing(subgraph: "QmWHYMV9mPZ6zoomwWSZbN24sdGSEQhy1efritMiETpxqS", blockNumber: 3041190, blockHash: "0xa819924ad94bcf3295826d5ad916c9ef06fac8cb46a6273d3bcc7aec822e22e7", indexer: "0x0000000000000000000000000000000000000000") }"}' "http://localhost:8030/graphql"

Pre-Requisites

sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y

sudo apt install -y libgtest-dev libomp-dev libgmp-dev git make wget aria2 gcc pkg-config libusb-1.0-0-dev libudev-dev jq g++ curl libssl-dev screen apache2-utils build-essential

Setting up Firewall

Set explicit default UFW rules

Allow SSH

Allow remote RPC connections with Blast Node

Enable Firewall

To check the status of UFW and see the current rules

Install GO

Go version 1.20.7 is required to build cdk-rigon

Build Erigon RPC Node

Clone the Erigon repository and build cdk-erigon. Check the latest version at releases page.

Configure xLayer Mainnet Parameters

Paste and modify parameters. Save by entering ctrl+X and Y+ENTER

Launch Erigon Node

Create systemd service for cdk-erigon

Paste the configs and save by entering ctrl+X and Y+ENTER:

Start cdk-erigon

Run curl command in the terminal to check the status of your node

When it returns false then your node is fully synchronized with the network

Monitor the logs for errors

During the synchonization, you are expected to get following log messages from cdk-erigon:

References

Last updated

Was this helpful?