Skip to content

ethereum-1/mainnet

Repository files navigation

Ethereum I — mainnet node package

Everything you need to run a node on the Ethereum I network and sync the chain from genesis. Clone it, run one command, and you're a peer.

Ethereum I is a custom Proof-of-Work EVM blockchain. The node software is CoreGeth (unmodified) plus this network's genesis and bootnode configuration.

Chain parameters

Network / Chain ID 588588
Consensus Proof-of-Work, Ethash (ETChash family, pre-ECIP-1099, epoch length 30000)
Block reward 5.0 ETH1
Block gas limit 30,000,000
Currency symbol ETH1 (18 decimals)
All EIPs active at block 0
Genesis hash 0x10c89ff29f807c01de526209dbdb541d4e00390d5076fdf53b6e49f7d923275a
Client CoreGeth v1.12.23 (commit 10f1ea745)

Public infrastructure

Service URL
JSON-RPC https://rpc.ethereum1.org
Block explorer https://explorer.ethereum1.org
Network stats https://stats.ethereum1.org

Public bootnode (discovery anchor):

enode://6ec5f44befef4af2155caf82205bdab46677c64457bbbb95758ca50407352c19d7b611352ff8151ed8ed1ee9d9ac6aa267b34a72afeb1121d83f4d3870229494@185.194.219.116:30303

Run a node

Option A — Docker (recommended, any OS)

git clone https://github.com/ethereum-1/mainnet.git
cd mainnet
cp .env.example .env
docker compose up -d
docker compose logs -f          # watch it init genesis and start syncing

The first boot builds CoreGeth from the exact pinned commit, writes the genesis state, and connects to the bootnode automatically. Data persists in the ethereum1-data Docker volume. JSON-RPC is off by default — set RPC_ENABLED=true in .env to expose eth,net,web3 on 127.0.0.1:8545.

Option B — native (Linux/amd64)

git clone https://github.com/ethereum-1/mainnet.git
cd mainnet
./scripts/install-geth.sh        # downloads the client + verifies sha256
./scripts/init-node.sh           # writes genesis state
./scripts/run-node.sh            # starts the node (add --http to enable RPC)

Prefer to build the client yourself? Build CoreGeth at commit 10f1ea745 (make geth) and point GETH=/path/to/geth at the scripts. For an always-on service, see systemd/ethereum1-node.service.

Full walkthrough, including how to safely expose RPC: docs/RUN-A-NODE.md.

Connect a wallet (MetaMask, etc.)

Field Value
Network name Ethereum I
New RPC URL https://rpc.ethereum1.org
Chain ID 588588
Currency symbol ETH1
Block explorer https://explorer.ethereum1.org

Step-by-step: docs/CONNECT-WALLET.md.

Verify what you're running

The genesis is the network's source of truth. Initializing it must print the genesis hash above:

geth --datadir /tmp/eth1-verify init genesis.json   # -> ...Successfully wrote genesis state ... hash=10c89f..23275a

What's in here

genesis.json        Network genesis (defines the chain; do not edit)
config.toml         Full-node config with the bootnode baked in
docker-compose.yml  One-command Docker boot
Dockerfile          Builds CoreGeth from the pinned commit
entrypoint.sh       Container init-then-run logic
scripts/            Native install / init / run helpers
systemd/            Service unit template for native installs
networks.json       Machine-readable chain metadata
docs/               Detailed run + wallet guides

License

MIT for the config/scripts/docs in this repo (see LICENSE). CoreGeth is a separate project under its own GPL/LGPL license.

About

Run a node on the Ethereum I network (chainId 588588, PoW EVM). Genesis, config, and one-command Docker/native setup.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors