71.ARM平台部署fisco-bcos
文章目录
1. 说明
fisco-bcos 2.7.2版本已经支持了ARM平台运行,只是需要手动编译源码和细节调整,在此记录国密版本部署过程.
操作系统是CentOS7
参考文档:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/enterprise_tools/tutorial_detail_operation_gm.html
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/cdn.html?highlight=tassl
2. 下载generator
FISCO BCOS generator 是针对多机构组网,适用于多机构部署,维护多群组联盟链的企业区块链部署工具.此版本只支持FISCO BCOS 2.0+.
本工具降低了机构间生成与维护区块链的复杂度,提供了多种常用的部署方式.
本工具考虑了机构间节点安全性需求,所有机构间仅需要共享节点的证书,同时对应节点的私钥由各机构自己维护,不需要向机构外节点透露.
本工具考虑了机构间节点的对等性需求,多机构间可以通过交换数字证书对等安全地部署自己的节点.
文档见FISCO BCOS 企业部署工具.
## 创建工作目录
mkdir -p /data/fisco
cd /data/fisco
## 下载generator
wget https://github.com/FISCO-BCOS/generator/archive/refs/tags/v1.7.1.tar.gz
## 解压
tar zxvf ./v1.7.1.tar.gz
mv generator-1.7.1 generator
## 需要root权限
cd ./generator && bash ./scripts/install.sh
## 验证是否安装成功
./generator -h
3.x86安装fisco
cd /data/fisco/generator
## 下载 x86 版本的fisco二进制文件,放到 ./meta 目录下
./generator --download_fisco ./meta --cdn
## 验证是否成功
./meta/fisco-bcos -v
4.ARM安装fisco
ARM版本需要编译源码,参考:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html
## 安装依赖
yum install -y epel-release centos-release-scl
yum install -y openssl-devel openssl cmake3 gcc-c++ git flex patch bison gmp-static devtoolset-7
cd /data/fisco
## 下载源码
wget https://github.com/FISCO-BCOS/FISCO-BCOS/archive/refs/tags/v2.7.2.tar.gz
tar -zxvf v2.7.2.tar.gz
## 进入源码目录
cd FISCO-BCOS-2.7.2
##创建编译目录
mkdir -p build && cd build
## CentOS请执行此命令,其他系统不需要
source /opt/rh/devtoolset-7/enable
## 编译
### ARCH_NATIVE,默认off,编译时根据本地CPU指令优化以获得更好的性能,在ARM架构上编译可以使用此选项.GCC9以上版本编译暂未适配完成,可以通过打开此编译选项避过问题,完成编译.
cmake3 -DARCH_NATIVE=on ..
## 高性能机器可添加-j4使用4核加速编译(时间略长)
make -j4
## 把编译好的 fisco-bcos 复制到 /data/fisco/generator/meta 目录下
cp -rf ./fisco-bcos /data/fisco/generator/meta
5.ARM安装tassl
FISCO BCOS国密版本需要使用TASSL生成国密版本的证书,部署工具会自动从GitHub下载,解压后放置于~/.fisco/tassl,如果碰到下载失败,请尝试从https://gitee.com/FISCO-BCOS/LargeFiles/blob/master/tools/tassl.tar.gz下载并解压后,放置于~/.fisco/tassl
macOS请下载https://gitee.com/FISCO-BCOS/LargeFiles/blob/master/tools/tassl_mac.tar.gz
ARM下请下载https://gitee.com/FISCO-BCOS/LargeFiles/blob/master/tools/tassl-aarch64.tar.gz
cd /data/fisco
wget https://gitee.com/FISCO-BCOS/LargeFiles/blob/master/tools/tassl-aarch64.tar.gz
tar -zxvf tassl-aarch64.tar.gz
## 拷贝到指定目录
cp -rf tassl /root/.fisco/
##### 后续操作和普通模式相同,参照文档即可
6.部署fisco
后续操作和普通模式相同,参照文档即可
7.ARM安装Key Manager(非必须)
联盟链的数据,只对联盟内部成员可见.落盘加密,保证了运行联盟链的数据,在硬盘上的安全性.一旦硬盘被带出联盟链自己的内网环境,数据将无法被解密.
落盘加密是对节点存储在硬盘上的内容进行加密,加密的内容包括:合约的数据.节点的私钥.
ARM上的国密版本,需要源码编译 Key Manager
## 安装依赖
yum install procps-ng-devel
yum install curl-devel
## 进入工作目录
cd /data/fisco
wget https://github.com/FISCO-BCOS/key-manager/archive/refs/tags/v1.0.0.tar.gz
tar -zxvf v1.0.0.tar.gz
##进入目录
cd ./key-manager-1.0.0/
## 修改 cmake目录下 ProjectCryptopp.cmake,ProjectJsonCpp.cmake,ProjectJsonRpcCpp.cmake 三个文件
## 删除掉 -march=generic64 的参数,是整个 -D 参数删除,不只是 -march 这个选项!!!!!
## 创建编译目录
mkdir build && cd build
## 国密版本
cmake3 -DBUILD_GM=On ..
## 高性能机器可添加-j4使用4核加速编译(时间略长)
make -j4
后续使用参照官方文档即可.
文章作者 springrain
上次更新 2024-04-15