title: 71.ARM平台部署fisco-bcos CreateTime: 2021-06-29 18:00:00 UpdateTime: 2024-04-15 18:36:38 CategoryName: BlockChain --- --- title: "71.ARM平台部署fisco-bcos" date: 2021-06-29T18:00:00+08:00 draft: false tags: ["blockchain"] categories: ["blockchain"] author: "springrain" --- ## 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+](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/). 本工具降低了机构间生成与维护区块链的复杂度,提供了多种常用的部署方式. 本工具考虑了机构间节点安全性需求,所有机构间仅需要共享节点的证书,同时对应节点的私钥由各机构自己维护,不需要向机构外节点透露. 本工具考虑了机构间节点的对等性需求,多机构间可以通过交换数字证书对等安全地部署自己的节点. 文档见[FISCO BCOS 企业部署工具](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/). ```shell ## 创建工作目录 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 ```shell 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](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/get_executable.html) ```shell ## 安装依赖 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](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](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](https://gitee.com/FISCO-BCOS/LargeFiles/blob/master/tools/tassl-aarch64.tar.gz) ```shell 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 ```shell ## 安装依赖 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 ``` 后续使用参照官方文档即可.