Fabric-CA生产环境部署

配置并启动orderer排序节点

小韦云科技-区块链+小程序+公众号+商城+分销+直播+企业官网+外贸电商-为您提供优质的开发服务-电话/微信联系:18123611282

操作流程

获取排序节点证书

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换成orderer2orderer3...

获取org0的管理员证书

获取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://bctos.cn/doc/14/1907,否则追究其法律责任

关键词:orderer排序节点 fabric-ca

广告位招商