Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update erigon doc #470

Merged
merged 2 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 1 addition & 16 deletions docs/bnb-smart-chain/developers/node_operators/archive_node.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,8 @@ Running an archive node will take a high cost as it includes all the block and s

### Run with an Erigon client

[Erigon](https://github.com/node-real/bsc-erigon) has supported BSC mainnet. You can also refer to [Free public BNB Smart Chain Archive Snapshot](https://github.com/allada/bsc-archive-snapshot) for the guide to run a BSC archive node with an Erigon client. The owner has switched to using an Erigon client for a BSC archive node recently. You can download the archive snapshot which is a tarball from aws s3. The s3 path is "s3://public-blockchain-snapshots/bsc/erigon-latest.tar.zstd". This path is public, but is configured as requester-pays. Also this means you'll need an AWS account in order to download it.
[Erigon](https://github.com/node-real/bsc-erigon) now supports the BSC mainnet. The latest version allows you to sync an archive node from scratch in just 3 days, using 4.3 TB of disk space. You can use Erigon to operate an archive node; for more information, please refer to the [Erigon Node](./erigon_node.md).

* Command to download to local dir:

```
aws s3 cp --request-payer=requester "s3://public-blockchain-snapshots/bsc/erigon-latest.tar.zstd" local_data_dir

tar --use-compress-program=unzstd -xvf erigon-latest.tar.zstd
```

* Command to run:

```
./erigon --chain=bsc --datadir local_data_dir
```

The known Issue with an Erigon client is that it does not really keep up with the latest blocks as mentioned in the Github. If you want to keep up with the latest blocks it is suggested to run a BSC archive node with high performance disk such as NVME, or run a BSC full node with a Geth client at the same time which means you need one proxy that will ask Erigon if it has the block height and if not forward it to the Geth client.

### Run with a Reth client

Expand Down
53 changes: 53 additions & 0 deletions docs/bnb-smart-chain/developers/node_operators/erigon_node.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: BSC Erigon Node Deployment Guide
---

# BSC Erigon Node Deployment Guide

BSC Erigon, maintained by the Node Real team, is a fork of Erigon aimed at becoming the premier archive node implementation for the BSC network.

## Hardware Requirements

To ensure optimal performance of your BSC Erigon node, we recommend the following hardware specifications:

* RAM: 64GB or more (higher RAM correlates with better performance)
* Storage: SSD or NVMe
- Archive Node: Minimum 5TB
- Fast Node: Minimum 700GB

## BSC Erigon Node Deployment Steps

### 1. Obtain the Erigon Binary

Option 1: Build from source
```shell
git clone https://github.com/node-real/bsc-erigon.git
cd bsc-erigon
make erigon
```
Option 2: Use Docker image
```shell
docker pull ghcr.io/node-real/bsc-erigon:${latest_version}
```
### 2. Launch the Erigon Node
By default, the node will run in archive mode. Syncing from scratch typically takes about 3 days.
```shell
./build/bin/erigon \
--datadir="<your_data_directory_path>" \
--chain=bsc \
--port=30303 \
--http.port=8545 \
--authrpc.port=8551 \
--torrent.port=42069 \
--private.api.addr=127.0.0.1:9090 \
--http --ws \
--http.api=eth,debug,net,trace,web3,erigon,bsc
```
**Note**: To avoid port conflicts, specify different ports for each chain if running multiple instances.

### 3. Running a Fast Node (Non-Archive Mode)
Add the --prune.mode=minimal flag to start a fast node. This mode retains only the last 3 days of state and block data, supporting debug_trace* operations for the past 3 days.

If you prefer not to spend days syncing, you can obtain fast node snapshots from [community-maintained repositories](https://github.com/48Club/bsc-snapshots).

By following these steps, you can flexibly deploy either a full BSC Erigon node or a fast node based on your requirements. Whichever option you choose, BSC Erigon will provide you with an efficient and reliable node service.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ nav:
- Full Node: ./bnb-smart-chain/developers/node_operators/full_node.md
- Archive Node: ./bnb-smart-chain/developers/node_operators/archive_node.md
- Fast Node: ./bnb-smart-chain/developers/node_operators/fast_node.md
- Erigon Node: ./bnb-smart-chain/developers/node_operators/erigon_node.md
- Reth Node: ./bnb-smart-chain/developers/node_operators/reth_node.md
- Boot Node: ./bnb-smart-chain/developers/node_operators/boot_node.md
- Docker Image: ./bnb-smart-chain/developers/node_operators/docker.md
Expand Down
Loading