同步以太坊区块操作步骤:
如果手残的话可以看我的另一篇帖子,最底部有个一键安装的shell命令,实测是可用的,已经搭建过很多个节点了
1、选择服务器
2、选择使用parity,安装配置parity
parity官网地址
parity的GitHub地址
根据自己的操作系统选择下载地址
先在根目录创建一个自定义目录(mkdir parity),然后执行 命令 wget https://snapcraft.io/parity。
这个时候可以尝试一下启动
./parity
默认是没有执行权限的,自己调整权限。如果正常启动的话,不用看以下的处理,直接看修改配置文件是啥的吧,
关于parity启动gcc版本过低报错处理
- gcc 要升级
- 升级 glibc-2.18
默认CentOS Linux没有安装gcc,但是用yum install gcc 只能安装到4.8.5这个版本,parity需要更高的gcc版本才能运行。我在其它机器上安装的5.4的gcc是能够满足要求的。
升级gcc,升级到7.3,方法如下:
#获取源码
wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
#解压
tar -xvf gcc-7.3.0.tar.gz
cd gcc-7.3.0
// yum -y install bzip2 如果是新服务器输入这个命令
./contrib/download_prerequisites //这个命令一定一定不用重复输入!还有这个时候可能会下图画红线的报错,
然后
cd ../
#建立编译输出目录\
mkdir gcc-build-7.3.0
#进入下面目录,执行命令,生成Makefile文件
cd gcc-build-7.3.0
../gcc-7.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高
make -j4
执行完make -j4可能会报上图的错误,报错没有gcc编译器 去安装一个就可以了 ,如果没有跳过这个处理
解决方法
yum install gcc-c++
#安装
make install
安装完gcc后,还要删除原来的版本库,并复制新库加软链接。
1. 复制libstdc++.so.6.0.24 到 /usr/lib64目录下
cp /parity/gcc-build-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64 (这里可能不好用 需要手动复制)
2. 更新软链接,应该在/usr/lib64目录下执行下面两条命令
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6
以上就真正更新好gcc到7.3版本了。
然后在解决GLIBCXX_2.18 not found的问题,比较简单。
curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install
再执行./parity version就能正常显示版本了,也可以正常开始 parity 节点同步。
好了,上述就是我遇到的启动报错的全部解决方式
添加parity的配置文件 config.toml,路径:/root/.local/share/io.parity.ethereum
[parity]
mode = "last"
mode_timeout = 300
mode_alarm = 3600
auto_update = "critical"
release_track = "current"
public_node = false
no_download = false
no_consensus = false
no_persistent_txqueue = false
chain = "homestead"
db_path = "/parity/data"
identity = ""
light = false
[rpc]
disable = false
port = 8545
interface = "local"
apis = ["web3", "eth", "net", "parity", "traces", "rpc", "secretstore", "personal"]
[ui]
interface = "all"
port = 8180
[websockets]
disable = false
port = 8546
interface = "all"
apis = ["web3", "eth", "pubsub", "net", "parity", "parity_pubsub", "traces", "rpc", "shh", "shh_pubsub"]
3、同步区块
交互式进程 : ./parity
守护式进程: nohup ./parity &