IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> bsc币安链RPC节点搭建说明-mainnet(非挖矿) -> 正文阅读

[网络协议]bsc币安链RPC节点搭建说明-mainnet(非挖矿)

1.服务器

需要3T(建议4T) NVMe 硬盘,最好是裸硬盘,云盘io性能太差,建议物理机(裸金属主机)+本地SSD。

*注意,bsc节点对硬件要求是我见过的所有链中最高的,强烈建议独立使用一台高配置服务器。

2.带宽

越高越好,建议国外服务器,1G带宽不限流量

3.操作系统

建议centos7/8,或ubuntu,这里均以centos为例

4.准备环境:

yum update -y

yum install screen iftop iotop -y

4.1.安装golang

yum install golang -y

或编译安装:

cd /root/
wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz
tar zxvf go1.4-bootstrap-20170531.tar.gz
cd /root/go/src/
./all.bash
?

5.创建一个screen

screen -S bsc

*注意1:最后退出时用ctrl+ad(顺序按a和d字母即可),绝对不要用exit或ctrl+d退出会话。

*注意2:退出会话后,可以用screen -r bsc重新连接到会话。这样可以保持在shell下运行,网络中断不会影响。

6.安装bsc客户端

#这里我的数据目录,可以根据需要自行更改

mkdir -p /data/bsc/data

#下载最新版本

cd /root
wget -O binance-chain-v1.1.4.tar.gz https://github.com/binance-chain/bsc/archive/refs/tags/v1.1.4.tar.gz
tar -xvf binance-chain-v1.1.4.tar.gz
rm -fr binance-chain-v1.1.4.tar.gz

编译:

cd /root/bsc-1.1.4
make all
6.1.检查安装是否成功

/root/bsc-1.1.4/build/bin/geth version

7.编辑并上传配置文件:

bsc-mainnet配置文件.zip-以太坊文档类资源-CSDN下载

config.toml和genesis.json两个文件放到/data/bsc/目录下。(该目录可以自行修改)


8.设置防火墙
firewall-cmd --permanent --zone=public --add-port=30311/tcp
firewall-cmd --permanent --zone=public --add-port=8575/tcp
firewall-cmd --permanent --zone=public --add-port=8576/tcp
firewall-cmd --reload
不懂防火墙配置的,可以先禁用防火墙,关于firewalld的使用技巧,之后会单独写一篇教程

9.1.下载最新的snapshot数据,以加快同步实际

#最新snapshots参加:https://github.com/binance-chain/bsc-snapshots
cd /data/bsc/data
wget -O geth.tar.gz 'https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/geth-20211031.tar.gz?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=ESK5xmr5f1AIK4Mr6our%2FALXzQk%3D&Expires=1638310885'

tar zxvf geth.tar.gz

*这里要下载很久,所以带宽要尽可能高。
*解压后,注意目录结构可能要调整下,保持chaindata和keystore那一级目录直接在/data/bsc/data/目录下,如果不在的话,自己mv到那个目录下。

9.2.启动客户端

#先init,很多人没有执行这一步,导致下面启动节点同步出错

/root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=10240 init /data/bsc/genesis.json
?

#启动节点(上面的init只要执行一次,之后启动节点不要再执行了)

ulimit -n 65535
/root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=8192 --rpc.allow-unprotected-txs --txlookuplimit 0 --allow-insecure-unlock

*然后按ctrl+ad回到主会话即可


10.测试验证

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://127.0.0.1:8575

(如果已经追上最新高度,result会返回false)

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://127.0.0.1:8575

11.停止节点

方式1:(建议,毕竟停止后还要启动不是)

screen -r bsc

按ctrl+c,等待一会即可看到节点停止

12.接口文档参考

RPC接口文档同eth文档,如:

以太坊JSON RPC手册 / eth_call - 汇智网

其它参考:

BSC链github地址:https://github.com/binance-chain/bsc
主网浏览器:https://bscscan.com/
主网链官方部署文档:https://docs.binance.org/smart-chain/developer/fullnode.html
私有链官方部署文档:https://docs.binance.org/smart-chain/developer/deploy/local.html

13.注意事项

*最大文件打开数必须修改,很多人遇到bsc客户端经常被kill,就是达到了最大文件打开数限制,导致被操作系统自动kill。

*同步到最高区块所需时间:

需要看网络带宽和磁盘io性能,我用NVMe的裸盘,读写1500到2000左右,1G的国外带宽,基于最新snapshot同步,大概需要3天左右。

*带宽需要100M,建议1G,磁盘io越高越好,如果5天还没有追上,或者高度经常落后,极有可能是服务器磁盘io存在瓶颈

*硬盘最好4T空间,否则区块数据都要1.9个T,如果只有2T空间根本不够用。

*虽然用snapshot+fast模式同步,但同步到最新高度后,依然会自动切换为full node模式,这是正常现象,不用疑惑,也不要删除重新同步。

*再次强调bsc非常耗资源,aws和阿里云的云盘性能根本不够,除非使用本地ssd才可以,而且bsc同步到最新高度后,对带宽的使用依然很高,建议网络不要按流量付费的,否则费用会高到无法承受。

*建议服务器先做io测试,可以用dd,或者安装个宝塔面板做跑分测试,磁盘读写低于500MB/s的就别安装了,建议1000MB/s以上,这个非常关键。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:59:31  更:2021-11-09 20:00:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:41:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码