Rome Docs
  • Getting Started
  • Overview of Rome
    • Rome Scales Bitcoin
      • How Rome Scales Bitcoin
    • Rome Scales Ethereum
      • How Rome Scales Ethereum
    • Rome Scales Rollups
      • How Rome Scales Rollups
    • Rome Provides Interop with Cosmos
      • How Rome Provides Interop with Cosmos
  • Nexus: Rome's Based Sequencer
    • How Nexus Works
    • Transaction Flow
  • Rome Interop
    • Rome SDK
    • Rome SDK Setup
      • Prepare Environment
      • Set Configuration
      • Run Rhea Example
      • Run Remus Example
      • Run Romulus Example
    • Remus: Cross-Rollup Atomicity
    • Romulus: Cross-Chain Atomicity
  • L2 EVM Setup
    • Prepare Config
    • Download Repos
    • Register your L2
    • Initialize your L2
    • Setup OP Geth Node
    • Run Block Explorer
    • Airdrop & Metamask
    • Check L2 State
    • Simple Transfers
    • Uniswap
    • Run on Remote Server
      • Setup AWS Server
      • Setup Certificate
  • Rome EVM
    • How to use Rome EVM
    • RPC Information
    • Tutorial to deploy a smart contract on Rome EVM
  • Shared Sequencer
    • Atomicity
    • Rome Transactions
    • Rhea
    • Hercules
    • Data Availability
    • Settlement
Powered by GitBook
On this page
  • Machine specs
  • Run Docker containers
  • 1. Light Client
  • 2. Geth
  • 3. Rhea
  • Docker container overview

Was this helpful?

  1. L2 EVM Setup

Setup OP Geth Node

Setup OP Geth Node. This is a non-voting RPC node that users interact with for Eth L2 transactions.

PreviousInitialize your L2NextRun Block Explorer

Last updated 5 months ago

Was this helpful?

Setting up an OP Geth Node needs three services: OP Geth, Rhea, and Light Client (also called Proxy). This OP Geth node serves as a non-voting RPC node that enables executing Eth L2 transactions.

OP Geth has been modified to calculate gas based on the required Solana compute. It retrieves the required gas value by querying Light Client.

Rhea picks up Eth transactions from OP Geth mempool, composes them into Solana transactions, and submits them to Solana for sequencing.

Solana's consensus voting nodes execute and vote on the ordering of these transactions.

Machine specs

We recommend using a machine with: Ubuntu 32GB RAM, 16 cores, 1 TB space

Run Docker containers

Run docker containers sequentially in the order below.

1. Light Client

Light Client provides an Ethereum interface to access Solana state, which includes providing gas estimates to Geth.

Airdrop SOLs to Light Client keypair as it will be used to pay for Solana transactions. Use . If you run into problems with airdrop, contact us on our or .

The command below shows Light Client keypair address to input for faucet.

solana address -k keys/proxy-sender.json

Run the Light Client Docker container.

docker-compose up -d proxy
docker logs proxy -f

Wait until the logs print out "Starting the RPC server at 0.0.0.0:9090".

2. Geth

Run Geth. Geth is the rollup client that accepts and executes Eth L2 transactions, and provides transaction results to the user. It is a non-voting RPC node.

If you are setting up your L2 on your local machine, comment out Geth volumes in rome-setup/docker/docker-compose.yml.

  # volumes:
  #   - /etc/letsencrypt/live/${GETH_HOST}/fullchain.pem:/etc/nginx/ssl/selfsigned.crt
  #   - /etc/letsencrypt/live/${GETH_HOST}/privkey.pem:/etc/nginx/ssl/selfsigned.key

However if you are setting up your L2 on a remote server, keep the Geth volumes uncommented.

Run the Geth container.

docker-compose up -d geth
docker logs geth -f

Wait until the logs print out "Server listening at http://localhost:3000".

3. Rhea

Rhea takes rollup transactions from Geth, packages them as Rome (Solana) transactions, and submits them to Solana for sequencing.

The command below shows Rhea keypair address to input for faucet.

solana address -k keys/rhea-sender.json

Run the Rhea Docker container.

docker-compose up -d rhea
docker logs rhea -f

Wait until the logs to print out "Polling: http://geth:8545".

Docker container overview

The docker containers started above are listed below:

Docker Container
Purpose

proxy

Rome Light Client App

geth

OP Geth App

rhea

Rhea App

Airdrop SOLs to Rhea keypair as it will be used to pay for Solana transactions. Use . If you run into problems with airdrop, contact us on our or .

https://faucet.solana.com
Discord
Telegram
https://faucet.solana.com
Discord
Telegram