I’m too lazy right now to write a big ass blog post but ya’ll need to stop running Geth and start running other Execution Layer clients on Ethereum. It’s not that hard people. You’ve got Akula, Erigon, Nethermind, and Besu to choose from as alternatives. Besu is actually a pretty solid client. There’s no reason more people are not using it. So, here’s a “guide” for you.
The recommended settings and the default settings are not the same thing, go figure so, here’s my current setup using Bonsai data storage format with Snap Sync.
As of this update the size of my database is: 754G
(2023-01-09)
If you don’t want to run in Docker and you want to run with a binary instead well good for you, here’s the download page. Just make sure you install Java to go along with it. You can use all the same flags I’ve got below, or change them, whatever.
version: '3.4'
services:
besu:
container_name: besu
image: hyperledger/besu:latest-openjdk-latest
restart: unless-stopped
user: root
volumes:
- /data/volumes/besu/data:/data
ports:
- "30303:30303" # Peers (TCP)
- "30303:30303/udp" # Peers (UDP)
command:
- --data-path=/data
- --network=MAINNET
- --data-storage-format=BONSAI
- --sync-mode=X_SNAP
- --p2p-port=30303
- --identity=MysticRyuujin-besu
- --nat-method=DOCKER
- --rpc-http-enabled=true
- --rpc-http-apis=ADMIN,DEBUG,ETH,NET,TRACE,TXPOOL,WEB3
- --rpc-http-host=0.0.0.0
- --rpc-http-port=8545
- --rpc-http-cors-origins=*
- --host-allowlist=*
- --rpc-ws-enabled=true
- --rpc-ws-apis=ADMIN,DEBUG,ETH,NET,TRACE,TXPOOL,WEB3
- --rpc-ws-host=0.0.0.0
- --rpc-ws-port=8546
- --engine-rpc-enabled
- --engine-rpc-port=8551
- --engine-jwt-secret=/data/jwtsecret
- --engine-host-allowlist=*
- --Xplugin-rocksdb-high-spec-enabled
stop_grace_period: 5m
ulimits:
nofile:
soft: "1000000"
hard: "1000000"
logging:
driver: "local"
options:
max-size: "1m"
max-file: "10"
image: hyperledger/besu:latest-openjdk-latest
- Grab the latest Docker Image using the latest OpenJDK
user: root
- I’m too lazy to deal with docker permissions bullshit
- Volume Mount:
- /data/volumes/besu/data:/data
--data-path=/data
- Gotta store your files somewhere…
--data-storage-format=BONSAI
--sync-mode=X_SNAP
--rpc-ws-port=8546
- Because I can’t just use
8545
– wtf Besu?
- Because I can’t just use
- Engine stuff is engine stuff – it’s literally the same as all the other clients
--Xplugin-rocksdb-high-spec-enabled
– Apparently it makes Besu go vroom!
More people should run Besu, it’s pretty cool. It supports pretty much everything Geth supports while also supporting the TRACE namespace.
So go run Besu and stop running Geth for fuck’s sake.
Be First to Comment