# 搭建BSC Fullnode

By [franx.eth](https://paragraph.com/@franx-2) · 2022-01-04

---

要运行BSC全节点，首先需要有服务器，币安官方推荐服务器配置

*   VPS running recent versions of Mac OS X or Linux.
    
*   **IMPORTANT** 2T GB of free disk space, solid-state drive(SSD), gp3, 8k IOPS, 250MB/S throughput, read latency <1ms. (if start with snap/fast sync, it will need NVMe SSD)
    
*   16 cores of CPU and 64 gigabytes of memory (RAM).
    
*   Suggest m5zn.3xlarge instance type on AWS, c2-standard-16 on Google cloud.
    
*   A broadband Internet connection with upload/download speeds of 5 megabyte per second
    

我是在aliyun买的VPS，配置是16核64G，系统盘40G，数据盘3000G ESSD云盘 PL1，带宽20M，VPS实例启动后，需要先挂载数据盘

    fdisk -l
    

查看系统磁盘，可以看到有一块硬盘还未使用

    fdisk /dev/vdb
    

进行硬盘分区，根据提示输入参数进行下一步

    mkfs.ext3 /dev/vdb
    

格式化分区，接着vim打开/etc/fstab，在末尾添加下面一行，开机自动将/dev/vdb1挂载到/home目录

    /dev/vdb1 /home                   ext4    defaults        0 2
    

重启系统后，运行df -h，可以看到已经挂载成功

![](https://storage.googleapis.com/papyrus_images/c8c3f2c2ffa241684db42afc1caa007e093bb89bb79952b079b13a81ee5043b4.png)

接着开始进行部署环节，我采用Sync From Snapshot方式。目前BSC的geth是v1.1.7版本，先下载到本地

    wget https://github.com/binance-chain/bsc/releases/download/v1.1.7/geth_linux
    

同时下载配置文件，并解压

    wget https://github.com/binance-chain/bsc/releases/download/v1.1.7/mainnet.zip
    unzip mainnet.zip
    

然后下载快照文件，这个快照文件有几百G，因此采用后台运行下载，下载速度根据网速而不同，我自己大概下载了22小时

    nohup wget -O geth.tar.gz "https://tf-dex-prod-public-snapshot-site3.s3-accelerate.amazonaws.com/geth-20220103.tar.lz4?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=fRDVa8tXBuGbw5NCe32V92LXuf4%3D&Expires=1643809389" &
    

下载完成后，解压快照，如果没有lz4，需要先安装lz4

    lz4 -d geth.tar.lz4 | tar -xv
    

至此，geth和快照都已准备好，下一步开始运行节点，运行前需要给geth\_linux执行权限

    chmod +x geth_linux
    

运行geth\_linux

     ./geth_linux --config ./config.toml --datadir ./server/data-seed --diffsync --cache 8000 --rpc.allow-unprotected-txs --txlookuplimit 0 --ws --ws.origins localhost
    

config.toml是配置文件，server/data-seed是下载下来的快照目录，同时打开了服务，方便连接。刚开始运行时，会继续同步新增加的块，需要一段时间后才会跟bsc完全同步。

可以调用RPC查看最新同步情况

     ./geth_linux --config ./config.toml --datadir ./server/data-seed --diffsync --cache 8000 --rpc.allow-unprotected-txs --txlookuplimit 0 --ws --ws.origins localhost
    

上述命令会返回本地最新块高度，跟bscscan上对比一下就知道同步到哪里了。

---

*Originally published on [franx.eth](https://paragraph.com/@franx-2/bsc-fullnode)*
