《Hyperledger Fabric菜鸟进阶攻略》 —3.4 以最快的方式完成应用通道的创建
3.4 以最快的方式完成应用通道的创建
目标
1.掌握应用通道创建的命令及其必须指定的参数所表示的含义。
2.实现将节点加入指定的应用通道中。
网络已经启动成功,准备等待处理交易信息,但为了保证交易安全,实现不相干的实体成员不能访问其无权限访问的数据,我们需要做出进一步的设置,即创建应用通道来实现交易及对数据的隔离。
3.4.1 创建应用通道
在创建及使用应用通道之前,我们先回顾一下通道的概念及其作用。
概念:将一个大的网络划分成不同的私有“子网”,划分之后的多个子网可以称为多通道。关于多通道的概念及实现参见7.3节的相关内容。
作用:通道提供一种通信机制,能够将Peer和Orderer连接在一起,形成一个具有保密性的通信链路(虚拟),从而实现对分布式账本数据的隔离。
要加入通道的每个节点都必须拥有自己的通过MSP获得的身份标识,MSP相关内容请参见第6章。
下面介绍创建应用通道的方法。
(1)进入通过docker-compose-cli.yaml配置文件指定的CLI容器
执行如下Docker命令进入指定的CLI容器中(后继操作都在该CLI容器中执行):
$ sudo docker exec -it cli bash
如果命令执行成功,则命令提示符会变为如下类似内容(代表成功进入CLI容器):
root@b240e1643244:/opt/gopath/src/github.com/hyperledger/fabric/peer#
其中,@符号后面的内容根据不同的设备会显示不同的内容。
(2)创建应用通道
1)检查环境变量是否正确设置:
# echo $CHANNEL_NAME
2)设置环境变量:
# export CHANNEL_NAME=mychannel
设置的通道名称必须与创建通道交易配置文件时指定的通道名称相同。
3)创建通道:
# peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f
# ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/
# hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/
# orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
参数说明:
-o—指定Orderer节点的地址。
-c—指定要创建的应用通道的名称(必须与创建应用通道交易配置文件时的通道名称一致)。
-f—指定创建应用通道时所使用的应用通道交易配置文件。
--tls—开启TLS验证。
--cafile—指定TLS_CA证书的所在路径。
该命令执行后,会自动在当前目录中生成一个与应用通道名称同名的区块文件mychannel.block,网络节点只有拥有该文件才可以加入到已创建的应用通道中。
命令执行后输出如下:
……
[cli/common] readBlock -> INFO 004 Received block: 0
使用ll命令查看是否生成与通道名称相同的区块文件(mychanel.block):
# ll
total 36
drwxr-xr-x 5 root root 4096 Apr 29 03:34 ./
drwxr-xr-x 3 root root 4096 Apr 29 02:48 ../
drwxr-xr-x 2 root root 4096 Apr 29 02:47 channel-artifacts/
drwxr-xr-x 4 root root 4096 Apr 29 02:35 crypto/
-rw-r--r-- 1 root root 15660 Apr 29 03:34 mychannel.block
drwxr-xr-x 2 root root 4096 Apr 29 02:13 scripts/
- 点赞
- 收藏
- 关注作者
评论(0)