fabric1.4 网络操作

建立第一个网络

进入对应目录

$ cd fabric-samples/first-network

在first-network目录下有两个自动化脚本byfn.sh和eyfn.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 

清除网络后再启动

原文地址:https://www.cnblogs.com/Soy-technology/p/12654531.html