MIPs Arbitrum (rpc ethereum)

Maxim
2 min readMar 26, 2023

For synchronization in the Arbitrum mainnet and servicing subgraphs in the ethereum mainnet, it is necessary to have rpc ethereum. My choice to install a full ethereum node, Geth for the executive client and Lighthouse for the consensus client.

Installing Dependencies

sudo apt update -y && apt upgrade -y && apt autoremove -y &&
sudo apt install curl wget jq nano git gcc g++ make cmake pkg-config llvm-dev libclang-dev clang protobuf-compiler -y

install Rust using rustup. The rustup installer provides an easy way to update the Rust compiler, and works on all platforms.

Installing Geth, Build from source

git clone <https://github.com/ethereum/go-ethereum.git>
cd go-ethereum
make geth

Installing Lighthouse, Build from Source

git clone <https://github.com/sigp/lighthouse.git>
cd lighthouse
git checkout stable
make

Run Geth,

/root/go-ethereum/build/bin/geth --mainnet --http --http.api eth,net,engine,admin --authrpc.addr localhost --authrpc.port 8551 --authrpc.vhosts localhost --authrpc.jwtsecret /root/geth/jwtsecret --syncmode full

Lighthouse

lighthouse bn --network mainnet --execution-endpoint <http://localhost:8551> --execution-jwt /root/geth/jwtsecret --checkpoint-sync-url <https://mainnet.checkpoint.sigp.io> --disable-deposit-contract-sync --purge-db

To check the current synchronization status of your node, request the block number from the local Geth node with HTTP port 8545 open:

curl --data '{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" localhost:8545

--

--