Platon在CentOS上编译部署

本文详述了在CentOS 7.5环境下,如何通过安装devtoolset-7、编译PlatON代码、初始化及运行PlatON节点。涉及关键步骤如GCC升级、mpclib准备、账户和key pair生成、配置初始化文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文由万向区块链CTO罗荣阁撰写。

目录

PlatON在CentOS上编译部署
1. CentOS 环境准备
       1.1. 使用rpm 安装devtoolset-7
       1.2. 使用rpm 安装dos2unix
       1.3. 准备PlatON代码
       1.4. 确保build脚本正常
       1.5. 准备mpclib
       1.6. 编译PlatON
       1.7. 重新编译前的清理工作
2. 初始化和运行PlatON
       2.1. PlatON节点初始化
              2.1.1. 生成 account 和 key pair
              2.1.2. 配置初始化文件
              2.1.3. 初始化PlatON
       2.2. 启动 PlatON 节点
       2.3. platon help 信息
       2.4. 重新初始化PlatON节点
3. CentOS升级gcc原始步骤
       3.1. 安装CentOS-release-scl
       3.2. 使用yum 安装devtoolset-7
       3.3. 编译获得静态库libstdc++.so.6

 

PlatON在CentOS上编译部署

PlatON官网上主要支持在 Ubuntu 和 Windows 环境中编译部署,但是也会有在CentOS上编译部署的需要。本文主要介绍了在CentOS上的环境准备、编译生成可执行文件和运行节点程序的过程。PlatON 官方代码库更新速度较快,有可能官方代码做出了一些设置变化,如果有步骤不能正确执行,可以参考 PlatON 官网具体信息。

 

1. CentOS 环境准备

Ubuntu在社区中很流行,但CentOS在企业级市场中占有较大优势。目前,CentOS在AWS、阿里云、UCloud 云服务商中能够使用的最高官方版本是CentOS 7.5。

本文就在CentOS 7.5下编译部署PlatON。

 

1.1. 使用rpm 安装devtoolset-7

因为PlatON的WASM库和MPC库依赖,开发和编译环境需要支持C++14。GCC 6.1版本以上是默认支持C++14。 https://www.gnu.org/software/gcc/projects/cxx-status.html#cxx14

CentOS 7.5的默认GCC版本为4.8.5,开发和编译PlatON需要升级GCC。Redhat官方的升级方法是通过devtoolset。

  • 2018年1月,devtoolset 6 发布。
  • 2018年5月,CentOS 7.5 发布。
  • 2018年9月,devtoolset 7 发布。

     https://access.redhat.com/solutions/19458

     http://mirror.centos.org/centos/7/sclo/x86_64/rh/devtoolset-7/

     https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/

考虑以上的发布时间顺序、相互具体版本要求,选择在CentOS 7.5中安装devtoolset 7。

将以下33个rpm拷贝到一个目录中,再执行:

$ sudo rpm -ivh boost-date-time-1.53.0-27.el7.x86_64.rpm efivar-libs-31-4.el7.x86_64.rpm kernel-debug-devel-3.10.0-862.el7.x86_64.rpm libgfortran4-7.2.1-1.1.1.el7.x86_64.rpm libquadmath-4.8.5-28.el7.x86_64.rpm mokutil-12-1.el7.centos.x86_64.rpm scl-utils-20130529-18.el7_4.x86_64.rpm devtoolset-7-7.1-4.el7.x86_64.rpm devtoolset-7-binutils-2.28-11.el7.x86_64.rpm devtoolset-7-dwz-0.12-1.1.el7.x86_64.rpm devtoolset-7-dyninst-9.3.2-3.el7.x86_64.rpm devtoolset-7-elfutils-0.170-5.el7.x86_64.rpm devtoolset-7-elfutils-libelf-0.170-5.el7.x86_64.rpm devtoolset-7-elfutils-libs-0.170-5.el7.x86_64.rpm devtoolset-7-gcc-7.3.1-5.13.el7.x86_64.rpm devtoolset-7-gcc-c++-7.3.1-5.13.el7.x86_64.rpm devtoolset-7-gcc-gfortran-7.3.1-5.13.el7.x86_64.rpm devtoolset-7-gdb-8.0.1-36.el7.x86_64.rpm devtoolset-7-libquadmath-devel-7.3.1-5.13.el7.x86_64.rpm devtoolset-7-libstdc++-devel-7.3.1-5.13.el7.x86_64.rpm devtoolset-7-ltrace-0.7.91-2.el7.x86_64.rpm devtoolset-7-make-4.2.1-3.el7.x86_64.rpm devtoolset-7-memstomp-0.1.5-5.1.el7.x86_64.rpm devtoolset-7-oprofile-1.2.0-2.el7.1.x86_64.rpm devtoolset-7-perftools-7.1-4.el7.x86_64.rpm devtoolset-7-runtime-7.1-4.el7.x86_64.rpm devtoolset-7-strace-4.17-7.el7.x86_64.rpm devtoolset-7-systemtap-3.1-4s.el7.x86_64.rpm devtoolset-7-systemtap-client-3.1-4s.el7.x86_64.rpm devtoolset-7-systemtap-devel-3.1-4s.el7.x86_64.rpm devtoolset-7-systemtap-runtime-3.1-4s.el7.x86_64.rpm devtoolset-7-toolchain-7.1-4.el7.x86_64.rpm devtoolset-7-valgrind-3.13.0-11.el7.x86_64.rpm

 

1.2. 使用rpm 安装dos2unix

$ sudo rpm -ivh dos2unix-6.0.3-7.el7.x86_64.rpm

 

1.3. 准备PlatON代码

PlatON git仓库代码

$ go get github.com/PlatONnetwork/PlatON-Go

更新代码

$ go get -u github.co
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值