fisco-bcos 部署企业级国密区块链

这篇具有很好参考价值的文章主要介绍了fisco-bcos 部署企业级国密区块链。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先说明,我目前所用的fisco-bcos generator企业部署版本尚不支持docker部署,只能在主机上直接部署。
fisco-bcos 部署企业级国密区块链
下面进入正题
fisco-bcos 部署企业级国密区块链
我们本次搭建的是三机构A、B、C组成的联盟链,AB首先组成群组Group1,C后期加入Group1。

一、环境

本文所有的操作目录都是基于generator文件夹

在A、B、C三台机器上下载并安装generator工具
也可以在一台机器上完成这些操作后,把generator文件夹复制给其它两台机器。

git clone https://gitee.com/FISCO-BCOS/generator.git
cd ~/generator && bash ./scripts/install.sh

安装完成后,查看一下版本

./generator -v

fisco-bcos 部署企业级国密区块链
出现版本信息表示安装成功

下载启动节点的必要文件

./generator --download_fisco ./meta --cdn

二、初始化信息

首先要设立CA中心给ABC三个机构服务器颁发证书。

我们假设在A上设立CA中心。

1、CA中心先生成自己的证书。

角色:中心

#生成国密版证书,用(ls ./dir_chain_ca)查看
./generator --generate_chain_certificate ./dir_chain_ca -g

#生成普通证书,用(ls ./dir_chain_ca_normal)查看
./generator --generate_chain_certificate ./dir_chain_ca_normal

此时generator文件夹下生成了这样的两个文件夹,里面放着普通和国密的两种证书
fisco-bcos 部署企业级国密区块链

2、中心生成机构ABC的授权证书

角色:中心

#生成其它机构的证书(ls dir_agency_ca/agencyA/)
#A证书
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyA -g
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca_normal agencyA_normal
#B证书
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB -g
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca_normal agencyB_normal
#C证书
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyC -g
./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca_normal agencyC_normal

此时在generator文件夹下产生了
fisco-bcos 部署企业级国密区块链
里面整整齐齐的放着3个机构的证书
fisco-bcos 部署企业级国密区块链
以机构A为例,它的两个授权文件夹下面放着这些
fisco-bcos 部署企业级国密区块链
3、把授权证书发给ABC三个机构

角色:中心

#把A的证书放到A服务器的generator/meta文件夹内
#这里以把证书给A为例,其它两个机构也需要进行这部操作
cp ./dir_agency_ca/agencyA/* A的generator/meta/
cp ./dir_agency_ca/agencyA_normal/* A的generator/meta/

三、A、B机构搭建Group1

1、机构设置自己的节点信息

角色:A

#A机构在配置文件中设置自己的节点信息,实际地址可以根据你的需求修改
cat > ./conf/node_deployment.ini << EOF
[group]
group_id=1

[node0]
; host ip for the communication among peers.
; Please use your ssh login ip.
p2p_ip=127.0.0.1
; listen ip for the communication between sdk clients.
; This ip is the same as p2p_ip for physical host.
; But for virtual host e.g. vps servers, it is usually different from p2p_ip.
; You can check accessible addresses of your network card.
; Please see https://tecadmin.net/check-ip-address-ubuntu-18-04-desktop/
; for more instructions.
rpc_ip=127.0.0.1
channel_ip=0.0.0.0
p2p_listen_port=30300
channel_listen_port=20200
jsonrpc_listen_port=8545

[node1]
p2p_ip=127.0.0.1
rpc_ip=127.0.0.1
channel_ip=0.0.0.0
p2p_listen_port=30301
channel_listen_port=20201
jsonrpc_listen_port=8546
EOF

#机构根据配置生成节点信息(ls ./node_info)
./generator --generate_all_certificates ./node_info -g

B机构也同样操作,设置配置文件、然后生成节点信息
此时在node_info文件夹下有节点的证书信息文件
fisco-bcos 部署企业级国密区块链
2、AB两个机构互相告诉对方自己的节点地址。
操作步骤:
(1)A把自己的node_info/peers.txt文件,放到B的meta文件夹下,B把自己meta文件夹里收到的A节点文件重命名为peersA.txt(表示这是机构A的节点信息,方便以后的管理)

(2)B把自己的node_info/peers.txtnode_info/gmcert*.crt文件,放到A的meta文件夹下,A把自己meta文件夹里收到的B节点文件重命名为peersB.txt

这一步做完后,A的meta文件夹中得到B的节点地址文件peersB.txt和节点证书gmcert*.crt
B的meta文件夹中得到A的节点地址文件peerA.txt

3、A机构生成创世区块

角色:A

#设置创世区块的配置文件,里面写入群组id和节点信息
#A、B机构想加入这个群组的节点都写进去
#这里的ip地址和端口号仅是示例,请根据你的实际情况修改
cat > ./conf/group_genesis.ini << EOF
[group]
group_id=1

[nodes]
node0=127.0.0.1:30300
node1=127.0.0.1:30301
node2=127.0.0.1:30302
node3=127.0.0.1:30303
EOF

#生成创世区块
./generator --create_group_genesis ./group -g

此时新产生出一个文件夹group,里面放着刚生成的创世区块
fisco-bcos 部署企业级国密区块链
4、把创世区块给B机构
把A刚刚生成的group.1.genesis,放到B的meta文件夹下

5、生成并启动节点

角色:A

#生成自己的节点(ls ./node)
./generator --build_install_package ./meta/peersB.txt ./node -g
#启动自己的节点
bash ./node/start_all.sh
角色:B

#B:机构生成并启动节点
./generator --build_install_package ./meta/peersA.txt ./node -g
bash ./node/start_all.sh

6、完成
此时AB组成的Group1已经启动成功。

#查看节点是否启动
ps -ef | grep fisco

#查看节点共识状态(如果启动正常,此时会不停的弹出共识信息)
tail -f ./node*/node*/log/log*  | grep +++

三、控制台的配置和使用

1、下载控制台

curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh

Ps:控制台需要java环境,要先安装java
2、配置控制台
控制台需要机构的sdk和知道节点地址

#节点产生sdk
#这一步需要CA中心颁发给机构的授权证书,本教程中,我把证书文件放在了meta文件夹内,实际根据你的情况做调整

#下面的二选一执行

#生成普通版sdk证书
./generator --generate_sdk_certificate ./sdk ./meta
#生成国密版sdk证书
./generator --generate_sdk_certificate ./sdk ./meta -g

fisco-bcos 部署企业级国密区块链
此时生成了机构的sdk证书,在generator/sdk/sdk文件夹下(普通版没有gm文件夹)
fisco-bcos 部署企业级国密区块链

sdk/sdk文件夹下的sdk文件,根据需要,放到控制台的console/conf
NON-SM表示非国密
SM表示国密
fisco-bcos 部署企业级国密区块链
修改控制台的console/conf/config.toml文件(没有的话就把config-example.toml修改后重命名成config.toml
根据自己的实际环境修改节点地址和端口
fisco-bcos 部署企业级国密区块链
3、启动控制台
配好地址和sdk证书后,启动控制台

在console文件夹下
bash start.sh

控制台的详细操作可以参考官方文档
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html

四、机构C加入群组1

1、机构C安装generator(之前已做)
2、首先CA中心给机构C颁发授权证书(之前一开始我们已经把证书给C了)
3、机构C设置自己的节点配置文件/conf/node_deployment.ini,生成节点信息
4、A、B把自己的节点地址/node_info/peers.txt给C(放到C的meta文件夹下)
5、A或B其中一个把它们群组的创世区块group.1.genesis给C(放到C的meta文件夹下)
6、此时C收到来自A和B的两个peers.txt,C手动把A、B的地址拼成一个txt文件,并命名为peersAB.txt放在C自己的meta文件夹下
7、C生成自己的节点,C启动节点
8、C把自己的节点地址发给A、B,A、B收到C的地址命名为peersC.txt
9、A、B把C的节点地址添加进自己的节点通讯列表中,并重启节点

./generator --add_peers ./meta/peersC.txt ./nodeA

10、此时C并没有参与共识和观察、A使用控制台addSealer ${nodeid}命令将C的节点注册为共识节点,addObserver ${nodeid}将C的节点设置成观察者。
例如
fisco-bcos 部署企业级国密区块链
nodeid可以在 node/node_*_*/conf/文件夹下找到一个后缀是nodeid的文件。
国密版是gmnode.nodeid,普通版是node.nodeid
fisco-bcos 部署企业级国密区块链

#查看nodeid
cat node/node_*_*/conf/文件名.nodeid

9、此时C已经加入了AB的群组Group1

如何让C在产生时只和B建立一个群组Group2
BC的Group2如何再融入AB的Group1内
可以参考官方的操作
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/enterprise_tools/tutorial_detail_operation_gm.html#文章来源地址https://www.toymoban.com/news/detail-438286.html

到了这里,关于fisco-bcos 部署企业级国密区块链的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FISCO-BCOS区块链网络环境搭建(亲测成功)

    因项目技术选型需要,需要搭建一个FISCO-BCOS区块链网络环境,该文记录一下搭载过程,或遇到的一个坑及其解决方法 一个如图所示的6节点3机构2群组的组网模式。机构B和机构C分别位于群组1和群组2中。机构A同属于群组1和群组2中 参考文章:FISCO-BCOS区块链网络环境搭建 此操

    2024年02月08日
    浏览(54)
  • 基于Fisco-Bcos的区块链智能合约-简单案例实践

    智能合约是指把合同/协议条款以代码的形式电子化地放到区块链网络上。FISCO BCOS平台支持两种智能合约类型:Solidity智能合约与预编译智能合约 Solidity与Java类似。代码写好后,都需要通过编译器将代码转换成二进制,在Java中,编译器是Javac,而对于Solidity,是solc。生成后的

    2024年02月09日
    浏览(50)
  • FISCO-BCOS 命令交互控制台 Console-命令大全(超详细)

    引言 此文章基于fisco-bocs官方技术文档进行整理并加以解释,在这里可以快速理解命令的含义和更快地上手,可以当作命令词典使用。 前提条件 部署好区块链网络 配置好console,即拷贝配置文件等等 console 目录如下: 使用账户生成脚本生成账户(非国密版) PEM格式 p12格式 启动控

    2024年02月04日
    浏览(65)
  • 搭建第一个区块链网络(Fisco-Bcos),启动并使用控制台

    1.安装依赖 centos7 Ubuntu 2.创建操作目录, 下载安装脚本 3. 搭建单群组4节点联盟链 搭建成功截图如下  4.启动FISCO BCOS链 启动成功截图如下  5.检查进程 检查进程是否启动  输出结果如下,如果进程数不为4,则进程没有启动(一般是端口被占用导致的)  6.检查日志输出 查看节

    2024年02月04日
    浏览(54)
  • Fisco-Bcos的环境搭建及Data-Export导出组件的使用

    注意:由于Data-Export组件暂时只支持Fisco-Bcos 2.x系列(这个也是目前使用最多最稳定的系列),故这里使用的是目前最新的Fisco-Bcos 2.x。 区块链网络部署 主要一步步按照这个官方的操作即可区块链网络搭建 环境为Ubuntu18.04,java版本要使用及11以上的,按照官网教程在ubuntu18.0

    2024年02月04日
    浏览(44)
  • 【教程】教你搭建控制台链接区块链网络,如何搭建FISCO-BCOS控制台

    目录 前言 配置及使用控制台 第一步. 准备依赖 第二步. 启动并使用控制台 部署及调用测试HelloWorld合约 第一步. 编写HelloWorld合约 第二步. 部署HelloWorld合约 第三步. 调用HelloWorld合约 随着区块链的发展,目前国内也掀起了一阵区块链的热潮,无论是金融、信任、交易、溯源等

    2024年02月10日
    浏览(68)
  • Kubernetes 企业级高可用部署

    单master节点的可靠性不高,并不适合实际的生产环境。Kubernetes 高可用集群是保证 Master 节点中 API Server 服务的高可用。API Server 提供了 Kubernetes 各类资源对象增删改查的唯一访问入口,是整个 Kubernetes 系统的数据总线和数据中心。采用负载均衡(Load Balance)连接多个 Master 节

    2024年02月12日
    浏览(51)
  • Microsoft Bitlocker企业级管理部署方案

    目录 一、前言 二、BitLocker部署前的准备工作 三、BitLocker的部署方式

    2024年02月05日
    浏览(46)
  • 企业级开发中协同开发与持续集成持续部署

    每个项目有唯一的代码仓库,所以不是每个开发者都需要创建一个代码仓库,一般都是项目负责人创建: 代码仓库有以下几种: github gitee gitlib 代码仓库的使用方法都差不多。 以gitee为例创建一个仓库: 如果没有账户的话,要注册一个新的用户名,注册用户之后,使用注册

    2024年02月14日
    浏览(57)
  • 【ELK企业级日志分析系统】安装与部署ELK详解

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash和kibana三个开源工具配合使用 , 完成更强大的,用户对日志的查询、排序、统计需求。 ElasticSearch ElasticSearch:是基于Lucene(一个 全文检索引擎的架构 )开发的分布式存储检索引擎,用来存储各类日志。 El

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包