Skip to content

Installation

1. Download Besu 23.7.3

BESC Hyperchain full nodes run Besu 23.7.3. Use this exact version for full compatibility.

bash
cd /usr/local
wget https://artifacts.hyperledger.org/releases/besu/23.7.3/besu-23.7.3.tar.gz
tar -xzf besu-23.7.3.tar.gz
rm besu-23.7.3.tar.gz
ls besu-23.7.3/bin/
# → besu  besu.bat

Verify:

bash
/usr/local/besu-23.7.3/bin/besu --version
# → besu/v23.7.3/linux-x86_64/openjdk-java-21

2. Create Data Directory

bash
mkdir -p /var/lib/besu-node
chown -R root:root /var/lib/besu-node

3. Get the Genesis File

The genesis file defines the chain from block 0. Download it from the BESC Hyperchain repository or use the following (save as /etc/besu/genesis.json):

json
{
  "config": {
    "chainId": 2372,
    "berlinBlock": 0,
    "londonBlock": 0,
    "shanghaiBlock": 0,
    "cancunBlock": 0,
    "ibft2": {
      "blockperiodseconds": 3,
      "epochlength": 30000,
      "requesttimeoutseconds": 20,
      "blockreward": "2000000000000000"
    }
  },
  "nonce": "0x0",
  "timestamp": "0x68a52b7b",
  "baseFeePerGas": "0x87576962FF000",
  "gasLimit": "0x989680",
  "difficulty": "0x1",
  "mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "717d58c3e05ADe613fBC3ADc1da2e854Fe119547": {
      "balance": "0xF0C4E4BCCBD1C4A00000"
    }
  },
  "extraData": "0xf87ea00000000000000000000000000000000000000000000000000000000000000000f854948f32294c406f8c32a24d0b3c800a5f172ccfcebd94c493ac0fd4bb41552e8a83f675a16c318249c17c94d00b96c4586d9b2e6dee6defd69cbe7e988f5745945a5134c2bc99c3991d69839ee7628364fa813619808400000000c0"
}

4. Create Systemd Service

bash
cat > /etc/systemd/system/besu-node.service << 'EOF'
[Unit]
Description=BESC Hyperchain Full Node (Besu 23.7.3)
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
Environment=JAVA_OPTS=-Xms4g -Xmx16g
Environment=LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
ExecStart=/usr/local/besu-23.7.3/bin/besu \
  --config-file=/etc/besu/node-config.toml \
  --rpc-max-logs-range=20000
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable besu-node.service

5. Start and Monitor

bash
systemctl start besu-node.service
journalctl -u besu-node.service -f

You should see log lines like:

INFO  | PersistBlockTask | Imported #9,000,001 / 3 tx / ... in 0.012s. Peers: 4

Once fully synced, the node imports a new block every 3 seconds.

See Configuration → for the full node-config.toml reference.

BESC Hyperchain — Built for Institutions.