所有人介绍项目以及口号,项目经理下发任务到运维工程师。已经向运维工程师下发了,任务书请查收。
机构 | 节点 | 所属群组 | P2P地址 | Channel监听地址 | json监听地址 | IP地址 |
---|---|---|---|---|---|---|
机构A | 节点0 | 群组1,2 | 30300 | 20200 | 8545 | 127.0.0.1 |
节点1 | 群组1,2 | 30301 | 20201 | 8546 | 127.0.0.1 | |
机构B | 节点0(2) | 群组1 | 30302 | 20202 | 8547 | 127.0.0.1 |
节点1(3) | 群组1 | 30303 | 20203 | 8548 | 127.0.0.1 | |
机构C | 节点0(4) | 群组2 | 30304 | 20204 | 8549 | 127.0.0.1 |
根据项目经理下发的任务书,我们来完成区块链部署的工作。
1.从我们的服务器上下载区块链搭建工具(generator):
1 | git clone https://gitee.com/FISCO-BCOS/generator.git |
2.因为网络问题工具已经提前构建完成,所有我们先测试一下工具是否能使用。
1 | ./generator -h |
3.根据上面显示的信息,可以知道工具可以正常使用。接下来我们需要完成区块链搭建的重要部分,获取区块链所使用的二进制文件。
1 | git clone https://gitee.com/BackRe/resource.git |
在获取完成后,需要将二进制文件解压到./meta
目录下。meta目录相当于一个缓存文件,几乎所有的信息文件都会放在这里。
1 | tar -zxvf ./resource/fisco-bcos.tar.gz -C ./meta |
解压完成后,查询一下二进制文件的版本信息。
1 | ./meta/fisco-bcos -v |
看到版本信息后代表文件正常解压成功。
4.我们需要将工具文件复制成a,b机构,为后续的智能合约做准备。
1 | cd .. |
5.在复制完成之后,需要生成机构的唯一密钥和证书。
1 | ./generator --generate_chain_certificate ./chain_ca |
看到Generate root cert success,dir is /root/fisco/generator/dir_chain_ca
信息,机构的唯一
密钥生成完毕,并且知道密钥生成在/root/fisco/generator/dir_chain_ca
。
6.通过唯一密钥,我们需要生成各个机构的密钥。
1 | ./generator --generate_agency_certificate ./agency_ca ./chain_ca agencya |
将当前生成的各个机构密钥,复制到各个机构目录下。
1 | cp -r ./agency_ca/agencya/* ../a/meta/ |
生成sdk连接密钥证书
1 | ./generator --generate_sdk_certificate ./sdk_ca_a ./agency_ca/agencya/ |
同理,将当前生成的各个机构sdk,复制到各个机构目录下
1 | cp -r sdk_ca_a/ ../a/ |
7.接下来需要配置各个机构下的文件。
1 | cd ../a |
为机构a配置两个节点和对应的端口。
1 | # 修改以下信息 |
b同理。
1 | cd ../b |
修改b的对应配置信息。
1 | # 修改以下信息 |
8.生成机构A的节点信息和p2p连接信息
1 | cd ../a |
显示xxx信息表示节点信息和p2p连接信息生成成功。
将机构a p2p
文件复制到机构b的meta
目录下。
1 | cd ../b |
同理将生成机构b的节点信息和p2p文件,然后再复制到机构a中。
1 | ./generator --generate_all_certificates ./node_info |
将机构b的节点信息复制到机构a的meta
目录下。
1 | cp ./node_info/cert_* ../a/meta/ |
切回机构a中,配置群组文件。
1 | cd ../a |
根据文档配置对应的节点信息。
1 | [group] |
生成区块链中的第一个区块。
1 | ./generator --create_group_genesis ./group |
看到generate ./group/group.1.genesis, successful
信息表示生成成功。
将第一个区块复制到机构b中
1 | cp -r ./group/group.1.genesis ../b/meta/ |
9.现在生成机构a的节点。
1 | ./generator --build_install_package ./meta/peersb.txt ./nodea |
看到Build operation end
表示节点生成完毕。
启动机构a的所有节点,并查询启动状态
1 | bash ./nodea/start_all.sh |
看到以下有节点信息,代表启动正常。
同理生成机构b的节点,并启动查看。
1 | cd ../b |
看到以下节点信息,代表所有节点已经启动成功。
10.以上区块链搭建完成,但还需要可视化界面。
1 | cd |
进入到webase目录中
1 | cd ./webase |
部署
1 | python3 deploy.py installAll |
输出信息中如若包含re-download的都是选择n,其他的都是y
启动
1 | python3 deploy.py startAll |
查询ip地址
1 | ip addr |
(在ens33下,其中inet后面的地址就是ip地址。没有/24。最后的ip是:你的ip:5000)
报告项目经理按你下达的任务指令我以完成部署工作。
我将我的区块链ip等信息交给项目经理。