首页 > 系统相关 >centos7搭建bsc全节点

centos7搭建bsc全节点

时间:2022-08-14 09:44:08浏览次数:83  
标签:git 字节 扇区 dev centos7 磁盘 512 节点 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 #当前同步到块高度


如果有什么不懂的问题或者有想一起学习分享solidity的可以加入我们的学习社群
社群还有一些免费工具可用

 

参考文章:https://learnblockchain.cn/article/3888

标签:git,字节,扇区,dev,centos7,磁盘,512,节点,bsc
From: https://www.cnblogs.com/YanAemons/p/16584839.html

相关文章

  • CentOs7安装node
     1、到node官网下载自己需要的压缩包(https://nodejs.org/zh-cn/download/)下载后按照如下内容安装:[root@localhost~]#tar-zxvf/usr/local/software/node-v14.7.......
  • 从二叉树根节点搜索到指定结点的路径
    LC236题,二叉树的最近公共祖先:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/其中一种解法的关键,是找到从根节点到指定结点的路径。 pu......
  • 010Zookeeper的四种节点类型
    节点有两个维度,一个是永久的还是临时的,另一个是否有序。组合成的四种类型如下:1:PERSISTENT//持久化节点2:PERSISTENT_SEQUENTIAL//持久化排序节点3:EPHEMERAL//临时......