操作流程
orderer排序节点部署在组织0上,因此把组织0的CA服务器上的ca-cert.pem复制(或下载)到指定目录
mkdir -p /opt/hyperledger/org0/orderer/assets/ca/
cp /opt/hyperledger/org0/ca/crypto/ca-cert.pem /opt/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem
获取组织0排序节点的证书
export FABRIC_CA_CLIENT_HOME=/opt/hyperledger/org0/orderer
export FABRIC_CA_CLIENT_TLS_CERTFILES=/opt/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem
fabric-ca-client enroll -d -u https://orderer1-org0:ordererpw@0.0.0.0:7053
获取组织0排序节点的TLS证书,用于HTTPS请求,需要先从组织0上的TLS CA服务器上的ca-cert.pem复制到指定目录
mkdir -p /opt/hyperledger/org0/orderer/assets/tls-ca/
cp /opt/hyperledger/tls-ca/crypto/tls-cert.pem /opt/hyperledger/org0/orderer/assets/tls-ca/tls-ca-cert.pem
执行获取组织0排序节点的TLS证书操作
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/opt/hyperledger/org0/orderer/assets/tls-ca/tls-ca-cert.pem
fabric-ca-client enroll -d -u https://orderer1-org0:ordererPW@0.0.0.0:7052 --enrollment.profile tls --csr.hosts orderer1-org0
接着把/opt/hyperledger/org0/orderer/tls-msp/keystore
下的文件修改为固定的名称key.pem
,方便后续调用
find /opt/hyperledger/org0/orderer/tls-msp/keystore/* -exec mv {} /opt/hyperledger/org0/orderer/tls-msp/keystore/key.pem \;
可能会报mv无法将目录移动至自身的子目录下,不用理会,它已经重命名成功
如果有多个排序节点,在每个节点上重复上面的操作,只需把orderer1
换成orderer2
,orderer3
...
获取org0的管理员证书
export FABRIC_CA_CLIENT_HOME=/opt/hyperledger/org0/admin
export FABRIC_CA_CLIENT_TLS_CERTFILES=/opt/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp
fabric-ca-client enroll -d -u https://admin-org0:org0adminpw@0.0.0.0:7053
注意:官方手册里使用管理员账号密码与之前的设置是不一样的(如下图)
如果直接执行会报Error: Response from server: Error Code: 20 - Authentication failure
错误,因此需要换成我们之前设置的账号
把组织0的admin证书复制到排序节点指定的admincerts
目录下
mkdir /opt/hyperledger/org0/orderer/msp/admincerts
cp /opt/hyperledger/org0/admin/msp/signcerts/cert.pem /opt/hyperledger/org0/orderer/msp/admincerts/orderer-admin-cert.pem
如果同一个组织下还有其它排序节点,同时需要复制
证书关系图如下
和peer节点不同,启动排序节点前要先创建创世块和系统通道
下载configtx.yaml
文件放到test-ca目录下:下载地址,注意:官方手册给的的yml会报错,应该是版本差异,没有同步更新问题,下载的文件是我从Fabric2.0测试网络的基础上修改进来
注意文件里各组织的MSPDir选项,这是各组织的证书位置,如果这些证书不在同一个服务器上,需要把它们都复制到orderer服务器上
我们使用命令生成系统通道和应用通道的配置
configtxgen -profile OrgsOrdererGenesis -outputBlock /opt/hyperledger/org0/orderer/genesis.block -channelID syschannel
configtxgen -profile OrgsChannel -outputCreateChannelTx /opt/hyperledger/org0/orderer/channel.tx -channelID mychannel
执行成功后
下载orderer-all.yaml
文件放到test-ca目录下(TODO),然后把它启动
cd ~/test-ca
docker-compose -f orderer-all.yml up -d
成功后
本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/14/1907,否则追究其法律责任
关键词:orderer排序节点 fabric-ca