Code Monkey home page Code Monkey logo

bsc-snapshots's Introduction

bsc-snapshots

Database after Ancient Data Prune:

Ancient Data Prune is a new feature in bsc v1.1.8

Endpoint

Here are snapshots of HBSS with leveldb and PBSS snapshots with pebble.

Path-Base-State-Scheme(recommand)

Hash-Base-State-Scheme(not recommand)

Warning: will stop maintain hash base snapshot after Mid Mar 2024

Snapshots Provided by Community

Special thanks to BNB48Club on contributing another dump of snapshot, you can also refer here to download.

Usage

Step 1: Preparation

  • Make sure your hardware meets the suggested requirement.
  • A disk with enough free storage, at least twice the size of the snapshot.

Step 2: Download && Uncompress

  • Copy the above snapshot URL.
  • Download: wget -O geth.tar.lz4 "<paste snapshot URL here>" . It will take one or two hours to download the snapshot, you can put it in the backgroud by nohup wget -O geth.tar.gz "<paste snapshot URL here>" &

If you need to speedup download, just use aria2c

aria2c -o geth.tar.lz4 -s14 -x14 -k100M https://pub-c0627345c16f47ab858c9469133073a8.r2.dev/{filename}

But aria2c may fail sometimes, you need to rerun the download command. To make it convient, you can use the following script, save it into file download.sh and run: nohup ./download.sh "<paste snapshot URL here>" <your dir> &

#!/bin/bash
if [ $# -eq 1 ]; then 
        dir=$(pwd)
elif [ $# -eq 2 ]; then 
        dir=$2
else 
        echo "Usage: $0 <uri> [filepath] "
        exit 1
fi
uri=$1
filename=$(basename "$uri")
status=-1
while (( status != 0 ))
do 
        PIDS=$(pgrep aria2c)
        if [ -z "$PIDS" ]; then
                aria2c -d $dir -o $filename -s14 -x14 -k100M $uri
        fi
        status=$?
        pid=$(pidof aria2c)
        wait $pid 
        echo aria2c exit.
        case $status in 
                3)
                        echo file not exist.
                        exit 3
                        ;;
                9)
                        echo No space left on device.
                        exit 9
                        ;;
                *)
                        continue
                        ;;
        esac
done
echo download succeed.
exit 0
  • Uncompress: tar -I lz4 -xvf geth.tar.lz4. It will take more than two hours to uncompress. You can put it in the background by nohup tar -I lz4 -xvf geth.tar.lz4 &
  • You can combine the above steps by running a script:
wget -O geth.tar.lz4  "<paste snapshot URL here>"
tar -I lz4 -xvf geth.tar.lz4
  • If you do not need to store the archive for use with other nodes, you may also extract it while downloading to save time and disk space:
wget -q -O - <snapshot URL> | tar -I lz4 -xvf -

Step 3: Replace Data

  • First, stop the running bsc client if you have one by kill {pid}, and make sure the client has shut down.
  • Consider backing up the original data: mv ${BSC_DataDir}/geth/chaindata ${BSC_DataDir}/geth/chaindata_backup; mv ${BSC_DataDir}/geth/triecache ${BSC_DataDir}/geth/triecache_backup
  • Replace the data: mv server/data-seed/geth/chaindata ${BSC_DataDir}/geth/chaindata; mv server/data-seed/geth/triecache ${BSC_DataDir}/geth/triecache
  • Start the bsc client again and check the logs

Erigon-BSC Snapshot(Archive Node)

For more granular upload & download to avoid big files error, split the files into several chunks, so please download them together and concatenate finally.

Endpoint(Testnet): update every 6 months

erigon version v1.1.10, Block: 35851654

SHA256 = 7c59f6846eba146a5668e44d3863545375ee52c6c70d3707ab55c2d8fdfdc6bb

Endpoint(Mainnet): update every three week

erigon version v1.1.13

erigon_data_20240205.lz4.000 md5=e4f83e18197535d0a860492b4ce1a397

erigon_data_20240205.lz4.001 md5=8ea994f4339f633b18f74b3d453a41ce

erigon_data_20240205.lz4.002 md5=14564727fb405c35f52559b2570e3952

erigon_data_20240205.lz4.003 md5=e5e176d2b0e2348ea8845e78effaaa96

erigon_data_20240205.lz4.004 md5=26abec4143f0f7ff14ccd2ca2b3118c7

erigon_data_20240205.lz4.005 md5=4cb39625d59595e9c566d54104a9dce0

erigon_data_20240205.lz4.006 md5=485642b9b90310ad5ccf794c442a5c1d

erigon_data_20240205.lz4.007 md5=f682cc8664989e16cccf5fba34dbf819

Endpoint(Mainnet torrent,the block range[0, 35,000,000))

erigon_snapshots_20240116.tar.lz4 md5=3d3a58836ec56f29c0eef1fc4c7fee54

Usage

Step 1: Preparation

Step 2: Download && Concatenate && Uncompress

sudo yum install aria2c
aria2c -s14 -x14 -k100M https://pub-60a193f9bd504900a520f4f260497d1c.r2.dev/erigon_data_20231225.lz4.[0]..erigon_data_20231225.lz4.[7]
cat "erigon_data_20231225.lz4."* > combined_compressed_file.lz4
lz4 -d combined_compressed_file.lz4 mdbx.dat
# or
cat "erigon_data_20231225.lz4."* | lz4 -d -c > mdbx.dat

Step 3: Replace Data And Restart erigon

  • Stop the running erigon client by kill {pid}

  • Backing up the original data: mv ${erigon_datadir}/chaindata/mdbx.dat ${erigon_datadir}/chaindata/mdbx.dat

  • Replace the data: mv ${erigon_snapshot_dir}/erigon/chaindata/mdbx.dat ${erigon_datadir}/chaindata/mdbx.dat

  • Replace the torrent: mv ${erigon_torrent_dir}/snapshots ${erigon_datadir}/

  • Start the erigon client again and check logs

  • mainnet command sample:

./build/bin/erigon --p2p.protocol=66 --txpool.disable --metrics.addr=0.0.0.0 --log.console.verbosity=dbug --db.pagesize=16k --datadir ${erigon_dir/data} --private.api.addr=localhost:9090 --chain=bsc --metrics --log.dir.path ${erigon_dir/log}
  • testnet command sample:
./build/bin/erigon --txpool.disable --networkid=97 --db.pagesize=16k --p2p.protocol=66 --datadir ./data --chain=chapel --sentry.drop-useless-peers --nat=any --log.dir.path ./log --http.port=8545 --private.api.addr=127.0.0.1:9090 --http --ws --http.api=web3,net,eth,debug,trace,txpool --http.addr=0.0.0.0 --torrent.download.rate=256mb --metrics --metrics.addr=0.0.0.0

bsc-snapshots's People

Contributors

iakisme avatar calmbeing avatar zlacfzy avatar flywukong avatar unclezoro avatar kyrie-yl avatar zzzckck avatar brilliant-lx avatar matuskysel avatar kai-w-20230331 avatar ashtenhamilton avatar fynnss avatar defidebauchery avatar qinglin89 avatar milewski avatar rumeelhussainbnb avatar artimath avatar blxdyx avatar cryptothink629 avatar setunapo avatar unek avatar du5 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.