HyperLedger Fabric - 超级账本(2.1)启动网络 - 自动


进入对应目录

$ cd fabric-samples/first-network

first-network目录下有两个自动化脚本byfn.sheyfn.sh, 这两个脚本的启动顺序是先执行byfn.sh再执行eyfn.sh(eyfn.sh不是必须的,eyfn.sh的作用稍后介绍)

查看帮助信息:

$ ./byfn.sh --help
up:启动
down:清除网络
restart:重新启动
generate:生成证书及创世块
upgrade:将网络从1.0升级到1.1

-c:用于指定channelName,默认值"mychannel"
-t:CLI timeout时间,默认值10
-d:延迟启动,默认值3
-f:使用指定的网络拓扑结构文件,默认使用docker-compose-cli.yaml
-s:指定使用的数据库,可选 goleveldb或couchdb
-l:指定chaincode使用的语言,可选golang 或node
-i:指定镜像tag,默认 "latest"
详细参数可通过./byfn.sh help查看

生成证书和密钥

为各种网络实体生成所有证书和密钥,用于引导订购服务以及配置通道所需的一系列配置事务

$ sudo ./byfn.sh -m generate

启动网络

$ sudo ./byfn.sh -m up

如果启动发生错误,则执行关闭命令后再次执行启动命令

最后输出如下内容代表启动且测试成功

============== Query on peer1.org2 on channel 'mychannel' is successful ================ 

========= All GOOD, BYFN execution completed =========== 

或者通过Node.js启动网络./byfn.sh \-m up \-l node

first-network会生成1个orderer+4个peer+1个CLI的网络结构,整个网络包括2个org

关闭网络

$ sudo ./byfn.sh -m down

关闭网络之后, 可以一步一步地探索网络设置. 将杀死容器, 删除加密文件, 并从Docker Registry中删除链码图像

若在启动网络时遇到如下错误

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"scripts/script.sh\": stat scripts/script.sh: no such file or directory": unknown

或者

ERROR: Encountered errors while bringing up the project.

ERROR !!!! Unable to start network

则执行./byfn.sh down 清除网络后再启动


文章作者: Jack Li
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jack Li !
评论
  目录