FISCO BCOS-多服务器部署区块链(1)-搭建两服务两节点单群组区块链

FISCO BCOS-多服务器部署区块链(1)-搭建两服务两节点单群组区块链

本文参考官方链接:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/enterprise_tools/tutorial_detail_operation.html

参考官方技术文档,构建两节点两机构单群组的区块链,组网模式如下图节点组网拓扑图。

节点组网拓扑图

机器环境,每个节点的IP和端口号如下(实际部署的时候一定要填写物理机的IP哟~):

节点IP与端口号

一、下载安装

1.下载

cd~/&&git clonehttps://github.com/FISCO-BCOS/generator.git

出现问题:服务器没有git,且直接安装无效,如下图。

此时需要先执行 apt-get  update,再进行apt-get install git。

1

安装成功git之后,执行上面命令。

2.安装(此步骤要求有sudo权限)

2.1 cd~/generator&&bash ./scripts/install.sh

2

2.2 验证是否安装成功./generator -h,看到usage:generator ***,如下图,表示成功安装。

3

3.获取节点二进制

3.1 拉取最新fisco-bcos二进制文件到meta中

./generator --download_fisco ./meta

如下图所示,成功拉取

4

3.2 检查是否成功,./meta/fisco-bcos -v

如下图所示,即成功。

5

二、机构初始化

进行完第一步“下载安装”之后,下载的generator就作为证书颁发机构,用来初始化机构A/B/C...等

1.机构初始化

1.1 初始化机构A

cp -r ~/generator ~/generator-A

1.2 初始化机构B

cp -r ~/generator ~/generator-B

6

2.初始化链证书

在证书颁发机构上进行操作,注意一条链拥有唯一的链证书ca.crt

2.1 在证书生成机构目录下操作,即先进入目录。

cd~/generator

2.2 用命令生成链证书

./generator --generate_chain_certificate ./dir_chain_ca

7

2.3 查看链证书及私钥

ls ./dir_chain_ca

8

3.机构A、B构建群组1

3.1 初始化机构A

实际应用时应该由机构本地生成私钥agency.key,再生成证书请求文件,向证书签发机构获取机构证书agency.crt。

3.1.1 进入在证书机构目录

cd~/generator

3.1.2 生成机构A证书

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyA

9

3.1.3 查看机构证书及私钥

ls dir_agency_ca/agencyA/

10

3.1.4 发送机构证书、机构私钥、链证书给机构A,采用文件拷贝的方式,从证书授权机构将机构证书发送给对应的机构,放在机构的工作目录的meta子目录下。

cp ./dir_agency_ca/agencyA/* ~/generator-A/meta/

3.2 初始化机构B

3.2.1 进入证书生成机构目录

cd~/generator

3.2.2 生成机构B证书

./generator --generate_agency_certificate ./dir_agency_ca ./dir_chain_ca agencyB

3.2.3 发送证书至机构B的meta子目录

cp ./dir_agency_ca/agencyB/* ~/generator-B/meta/

注意事项:一条联盟链中只能用到一个根证书ca.crt,多服务器部署时不要生成多个根证书和私钥。一个群组只能有一个群组创世区块group.x.genesis

3.3 机构A修改配置文件

3.3.1 进入生成机构A的目录

cd~/generator-A

3.3.2 修改配置文件

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 seehttps://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

EOF

11

3.3.3 查看配置文件内容

cd~/generator-A

vim./conf/node_deployment.ini

12

同时按下shift Esc :,输入q退出。

3.4 机构B修改配置文件

3.4.1 进入生成机构B的目录

cd~/generator-B

3.4.2 修改配置文件

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 seehttps://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=30301

channel_listen_port=20201

jsonrpc_listen_port=8546

EOF

3.4.3 查看配置文件内容

cd~/generator-B

vim./conf/node_deployment.ini

13

3.5 机构A生成并发送节点信息

3.5.1 进入生成机构A目录

cd~/generator-A

3.5.2 机构A生成节点证书及P2P链接信息文件

./generator --generate_all_certificates ./agencyA_node_info

14

3.5.3 查看生成文件

ls ./agencyA_node_info

15

上图中,从左至右分别为需要交互给机构A的节点证书,节点P2P连接地址文件(根据node_deployment.ini生成的本机构节点信息)

3.5.4  A机构需将节点P2P连接地址文件发送至机构B

(因为机构生成节点时需要指定其他节点的节点P2P连接地址)

cp ./agencyA_node_info/peers.txt ~/generator-B/meta/peersA.txt

3.6 机构B生成并发送节点信息

3.6.1 进入生成机构B目录

cd~/generator-B

3.6.2 机构B生成节点证书及P2P连接信息文件

./generator --generate_all_certificates ./agencyB_node_info

3.6.3 机构B发送节点证书至机构A

因为生成创世区块的机构需要节点证书,咱们这个是由A机构生成创世区块,因此B机构除了发送节点P2P连接地址文件外,还需发送节点证书至机构A

cp ./agencyB_node_info/cert*.crt ~/generator-A/meta/

3.6.4 机构B发送节点P2P连接地址文件

cp ./agencyB_node_info/peers.txt ~/generator-A/meta/peersB.txt

16

3.7 机构A生成群组1创世区块

此处是选择机构A生成群组创世区块,实际生产中可以通过联盟链委员会协商选择

3.7.1 进入生成机构A目录

cd~/generator-A

3.7.2 机构A修改配置文件conf文件下的group_genesis.ini

cat > ./conf/group_genesis.ini<< EOF

[group]group_id=1

[nodes]

node0=127.0.0.1:30300

node1=127.0.0.1:30301

EOF

3.7.3 修改./conf/group_genesis.ini文件,即添加注释

vim ./conf/group_genesis.ini

;命令解释

[group]

;群组id

group_id=1

[nodes]

;机构A节点p2p地址

node0=127.0.0.1:30300

;机构B节点p2p地址

node1=127.0.0.1:30301

17

3.7.4 生成group_genesis.ini配置的群组创世区块

./generator --create_group_genesis ./group

18

3.7.5 分发群组1创世区块至机构B

cp ./group/group.1.genesis ~/generator-B/meta

3.8 机构A生成所属节点

生成机构A所属节点,此命令会根据用户配置的node_deployment.ini文件生成相应的节点配置文件夹

3.8.1 进入生成机构A目录

cd~/generator-A

3.8.2 生成机构A所属节点

./generator --build_install_package ./meta/peersB.txt ./nodeA

19

3.8.3 查看生成节点配置文件夹

ls ./nodeA

20

3.8.4 机构A启动节点

bash ./nodeA/start_all.sh

21

3.8.5 查看节点进程

ps -ef|grep fisco

22

3.9 机构B生成所属节点

3.9.1 进入生成机构B目录

cd~/generator-B

3.9.2 生成机构B所属节点

./generator --build_install_package ./meta/peersA.txt ./nodeB

23

3.9.3 机构B启动节点

bash ./nodeB/start_all.sh

24

注意事项:节点启动只需要推送对应ip的node文件夹即可,如127.0.0.1的服务器,只需node_127.0.0.1_port对应的节点配置文件夹。多机部署时,只需要将生成的节点文件夹推送至对应服务器即可

3.10 查看群组1节点运行状态

3.10.1 查看进程

ps -ef|grep fisco

25

3.10.2 查看节点log

tail -f ./node*/node*/log/log*|grep +++

26

ctrl c 结束查看

4.推送机构B的生成文件夹到目标服务器

scp -r  /root/generator-B/  root@172.**.***.**:~/

为了操作简单,以上生成B的系列操作在同一个服务器上,那么多机构链就需要那么生成好的文件夹generator-B,就可以传输到另一台服务器即可。

27

多机构搭建群组1的操作完成!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容