centos7搭建bsc全节点
Centos7搭建bsc全链节点
服务器配置
CPU:8 Cores - 16 Threads
RAM:131072 MB
Storage:2x 2000GB NVMe
Bandwidth:8400.65 GB of 10000 GB
OS:
CentOS 7 x64
服务器位置: 东京
因为要下载1.4T的节点快照并且解压,所以最好要4T的磁盘
该服务器是两块2T磁盘组成,所以首先进行磁盘的挂载
新磁盘的挂载
1.查看服务器当前的挂载设备
fdisk -l
#(当前服务器已经挂载好了,新磁盘为nvme1n1, 应输入fdisk -l查看自己服务器未挂载的磁盘)
磁盘 /dev/nvme1n1:2000.4 GB, 2000398934016 字节,3907029168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/nvme0n1:2000.4 GB, 2000398934016 字节,3907029168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000e0a65
设备 Boot Start End Blocks Id System
/dev/nvme0n1p1 * 2048 3907029134 1953513543+ fd Linux raid autodetect
磁盘 /dev/md0:2000.4 GB, 2000394722816 字节,3907020943 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2.删除原有分区
fdisk /dev/nvme1n1
#nvme1n1位需挂载的设备名
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/nvme1n1:2000.4 GB, 2000398934016 字节,3907029168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x04fc5a3c
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
3.新建分区
fdisk /dev/nvme1n1
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-3907029167,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-3907029167,默认为 3907029167):
将使用默认值 3907029167
分区 1 已设置为 Linux 类型,大小设为 1.8 TiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
4.格式化分区
mkfs.ext3 /dev/nvme1n1
5.挂载使用
# 新建一个挂载点。
mkdir /data
# 挂载。
mount /dev/sdb1 /data
#查看是否挂载成功
[root@guest ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 63G 0 63G 0% /dev
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 63G 34M 63G 1% /run
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/md0 1.8T 1.5T 208G 89% /
tmpfs 13G 0 13G 0% /run/user/0
/dev/nvme1n1 1.8T 1.4T 322G 82% /data
在最后一行
磁盘因为已经使用过了所以有占用
6.开机自动挂载
vim /etc/fstab
在底部添加
/dev/nvme1n1 /data ext3 defaults 1 2
至此磁盘已经挂载成功
centos7 git的升级
因为centos7的默认git版本是1.8,后续用到git会有版本问题,所以得先对git进行升级
安装依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker
卸载旧版本git
yum remove git
打开文件夹
cd /usr/local/src/
下载git压缩包
该压缩包版本为2.32
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.xz
解压
tar -xvf git-2.32.0.tar.xz
打开解压好的git文件
cd git-2.32.0
编译
make prefix=/usr/local/git all
安装git
make prefix=/usr/local/git install
配置环境变量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile
#验证git版本
git --version
安装其他所需插件
yum -y upgrade
yum install wget -y
yum install golang -y
#验证go的版本
go version
#如正确显示版本号则安装正确
#go version go1.18.1 linux/amd64
yum -y install screen
至此准备工作已经做好,下面开始正式搭建bsc链
BSC链的搭建
cd / #进入根目录
mkdir -p jiedian/kuaizhao #创建jiedian及kuaizhao文件夹
cd /jiedian #进入jiedian文件夹
git clone https://github.com/binance-chain/bsc
cd bsc/
make geth
配置路径
vim /etc/profile
#把下列一行写到最后边然后 :wq 保存退出
export PATH=$PATH:/jiedian/bsc/build/bin
#然后使命令生效
source /etc/profile
#使用geth version确认安装正确
配置创世块
wget https://github.com/binance-chain/bsc/releases/download/v1.1.9/mainnet.zip
unzip mainnet.zip
geth --datadir node init genesis.json
下载BSC快照
创建一个用来下载快照的screen窗口
进入screen窗口后,若想退出,依次连续按住ctrl+a+d
退出窗口后,在主窗口输入screen -ls查看所打开的其他窗口
screen -x <窗口名> 连接进窗口
注意下文的 wget -O geth.tar.lz4 指令中链接地址一定要在双引号之内
注意!!!!!: 官网给出的下载地址是https连接,若网络环境较差容易导致ssl无法验证问题从而中断下载而浪费服务器流量,若出现该问题可将连接复制下载下来并将开头的https改为http。
screen -S xiazai
cd /data #下载至上文所挂载的新磁盘
wget -O geth.tar.lz4 "最新下载地址"
快照的下载地址连接:https://github.com/binance-chain/bsc-snapshots
该压缩包有1.4T左右
下载完成后解压该文件至 /jiedian/kuaizhao
并将该文件中的chaindata和triecache移动到/jiedian/bsc/node/geth文件夹下
node文件夹是由上文配置mainnet后自动生成
tar -I lz4 -xvf geth.tar.lz4
mv /jiedian/kuaizhao/server/data-seed/geth/chaindata /jiedian/bsc/node/geth
mv /jiedian/kuaizhao/server/data-seed/geth/triecache /jiedian/bsc/node/geth
ctrl+ad #退出xiazai窗口
启动BSC全节点
screen -S bsc #创建bsc节点启动窗口
1
geth --config ./config.toml --datadir ./node --diffsync --cache 86016 --rpc.allow-unprotected-txs --txlookuplimit 0 --rpc.txfeecap 0 --rpc.gascap 0
参数说明:
–config:指定BSC节点配置文件
–datadir:指定BSC节点数据库和密钥存储库的数据目录(默认即可)
–cache:设置最大分配给内部缓存的内存,默认:1024(设置越大,每次同步的数据越多,消耗的内存也越大)
–rpc.allow-unprotected-txs:允许通过RPC提交不受保护的(非 EIP155 签名)交易
–txlookuplimit 0 : 禁用删除事务索引
–diffsync:启用差异同步协议来帮助节点更快地同步
–rpc.txfeecap:无上限gas费用
–rpc.gascap:无交易费用上限
ctrl + a + a #返回主窗口
节点监听
geth attach http://127.0.0.1:8545
#这里的端口如果修改配置文件了,就填写配置文件的端口即可
> eth.syncing #查看当前块情况
> net.peerCount #查看当前连接节点数量,结果为false为同步完成
> eth.blockNumber #当前同步到块高度
nginx配置文件
让节点提供ws连接给外部服务器使用
server{
listen 80;
server_name # 你的网址名称
# 重点,转发websocket需要的设置
location / {
proxy_pass http://127.0.0.1:8545/;
}
# 所有请求都转发
location /ws {
proxy_pass http://127.0.0.1:8546/;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
}
如果有对搭节点有疑问的可以加入我们的社区群提问
群里还有一些关于solidity学习的心得分享
还有一些免费小工具分享

参考文章:https://learnblockchain.cn/article/3888
centos7搭建bsc全节点的更多相关文章
- 搭建Bitcoin全节点
节点搭建 1. 进入 bitcoin 选择 Choose your wallet 2. 选择 Bitcoin Core for Linux 下载 bitcoin-0.17.0.1-x86_64-lin ...
- 搭建EOS全节点并接入主网
#EOS编译安装 #!/bin/bash #install.eos.sh #EOS 安装 #从github克隆主网代码 cd /opt git clone https://github.com/EOS ...
- 比特币BTC全节点搭建
比特币BTC全节点搭建 #环境 ubuntu 16.4 #硬盘500GB #截止2018-12-31磁盘占用超过230GB #客户端安装 #下载页面 #https://bitcoin.org/zh_C ...
- ETH 全节点的远程Debug环境搭建
ETH全节点还是很浪费资源的,尤其是在同步下来所有区块链,如果你打算在本地进行全节点的Debug吗,有点不现实.这个文档 编译,在要运行的机器上面安装devel,一般的方法是,编译好之后,放到服务器上 ...
- centos7搭建hadoop2.10高可用(HA)
本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode):3台jns(journalnodes) IP hostnam ...
- centos7 搭建GlusterFS
centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...
- Hadoop(三)手把手教你搭建Hadoop全分布式集群
前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...
- centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch
应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...
- Hadoop(三)搭建Hadoop全分布式集群
原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...
- centos7搭建ELK Cluster集群日志分析平台
应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台 ...
随机推荐
- springboot默认的json配置
springboot默认的json配置 1.@JsonIgnore 返回前端时对应字段不进行序列化返回 public class User { @JsonIgnore private String n ...
- .net core 接收并存储客户端上传的文件
1 文件是上传到Host,非上传到阿里云OSS 2 在Program.cs或StartUp中使用静态文件的中间件 public void Configure(IApplicationBuilder a ...
- vue、react配置gzip打包后,删除源文件deleteOriginalAssets: true,nginx需要的配置
1.删除源文件后,配置了gzip,当配置gzip删除源文件后,解决前端history问题,就会出现所有的都返回html,请求js.css也会返回html,页面会报错,如下配置即可 location / ...
- 2、Java程序设计环境
1.JDK Java开发工具箱 在Java 9之前,有32位和64位两个版本的Java开发工具包.现在Oracle公司不在开发32位版本,要使用Oracle JDK,你需要有一个64位的操作系统. 安 ...
- 设置mode='out-on'导致路由切换过快路由加载报错 Failed to execute 'insertBefore' on 'Node'
原代码: 解决代码: 原因未知
- mysql和nacos都部署在docker中,ip该写哪个
docker run -d \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=172 ...
- Mac Idea2018.1.6版 利用脚本激活安装详解
下载安装包:链接: https://pan.baidu.com/s/1W4alLXUeQ6xazkNEtB8I9w 提取码: w6rg 下载脚本:链接: https://pan.baidu.com/s ...
- Unity学习笔记——坐标转换(2)
子物体与父物体 子物体与父物体的关系类似于人与地球的关系,地球无论自转还是公转,对于地球上的我们来说,前后左右的方向不会变,因此在Unity中当我们旋转或是移动父物体时,子物体跟随父物体变化,但tra ...
- Javaheima21
Java 学习内容 XML XML解析技术 XPath 设计模式 在有些业务场景下,存储数据或者传输数据给别人的时候,数据需要满足优点的规范进行组织 XML文件存储的数据需要提取出来 如何方便的在XM ...
- 5-CSRF漏洞
1.CSRF介绍 Csrf漏洞也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用.尽管听起来像xss漏洞,但是它与xss漏 ...