Skip to content

Stop Running Geth – Run Besu Instead!

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"

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.

Published inUncategorized

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *