CentOS安装超级账本项目Hyperledger fabric (二)

上一篇介绍了安装Hyperledger fabric的环境准备,本篇我们使用fabric-sample中自带的first-network搭建一个示例网络并安装一个智能合约。
记得关掉selinux,否则docker image起不来,docker log显示permission deny。
注意hyperledger二进制文件和docker image版本要一致,因为fabric-sample里master分支的config文件已经使用了2.0的特性,所以我实验的时候,选择了2.0版本。

启动网络

进入fabric-sample/first-network, 执行./byfn.sh generate来生成证书和创始区块,并配置通道。

cd fabric-sample/first-network
./byfn.sh generate

这里可能出现‘etcdraft configuration missing’的错误,需要把first-network/configtx.yaml里Orderer: &OrdererDefaults下的orderType改为solo,这里官方这版配置文件好像有点问题,这里default的配置orderType是etcd,但是没有相关主机配置。虽然后面profile里的SampleMultiNodeEtcdRaft覆盖了设置,但是执行byfn.sh generate时,有几步是不用这个配置的。

这步执行完,生成了所有用来证明身份的证书,创建了创始区块的系统通道,配置了一个用户通道mychannel,并配置了锚结点。

然后执行.byfn.sh up。实际上不需要执行上一步byfn.sh generate,执行up的时候会自动执行generate,为了说明过程,这里分开执行。

./byfn.sh up

执行完成后,脚本为我们自动创建了两个peer节点:org1.example.com和org2.example.com,几个orderer节点:orderer.example.com,并安装了一个智能合约。默认是安装go语言的智能合约,如果想要安装javascript的智能合约,执行./byfn.sh up -l javascript

byfn脚本为我们封装了非常多的操作,如果想详细了解启动网络的细节,可以分析脚本或者参考https://hyperledger-fabric.readthedocs.io/en/master/build_network.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容