peer lifecycle chaincode checkcommitreadiness
管理员可以使用peer lifecycle chaincode checkcommitreadiness
子命令
检查指定的链码是否可以向通道提交。
peer lifecycle chaincode checkcommitreadiness
是Hyperledger Fabric 2.0新增的命令。
使用方法
peer lifecycle chaincode checkcommitreadiness [flags]
参数说明:
- flags:可用标志,包括局部标志和全局标志
局部标志
peer lifecycle chaincode checkcommitreadiness
命令的可用局部标志如下:
--channel-config-policy string 链码背书策略
-C, --channelID string 通道ID
--collections-config string collection文件路径
--connectionProfile string Fabric网络连接配置文件路径
-E, --endorsement-plugin string 用于此链码的背书插件名称
-h, --help 命令的帮助信息
--init-required 是否需要调用链码的init方法
-n, --name string 链码名称
-O, --output string 查询结果输出格式。默认是平文件,可选:json
--peerAddresses stringArray 要连接的peer节点
--sequence int 通道链码定义序列号,默认值:1
--signature-policy string 签名策略
--tlsRootCertFiles stringArray 如果启用了TLS,该标志用来声明所连接peer节点的TLS根证书
-V, --validation-plugin string 用于此链码的验证插件名称
-v, --version string 链码版本
全局标志
peer lifecycle chaincode checkcommitreadiness
命令的可用全局标志如下:
--cafile string PEM编码的CA证书文件路径
--certfile string 双向TLS通讯所需的PEM编码的X509证书文件路径
--clientauth 与排序节点的通讯是否启用双向TLS
--connTimeout duration 客户端连接超时,默认值:3秒
-h, --help 帮助信息
--keyfile string 双向TLS通讯所需的PEM编码的私钥文件
-o, --orderer string 排序节点地址
--ordererTLSHostnameOverride string 验证TLS连接时使用的排序节点主机名
--tls 与排序节点通信时是否启用TLS
示例代码
可以使用peer lifecycle chaincode checkcommitreadiness
命令查看指定的
链码定义是否可以提交。如果后续提交可以成功,该命令将成功返回。该命令
同时也会输出哪些机构已经批准了该链码定义。如果一个机构已经批准了指定的
链码定义,该命令将返回true。可以使用该命令在向通道提交链码之前查看是否
有足够数量的通道成员批准了该链码定义以满足Application/Channel/Endorsement
策略的要求。
下面的命令检查通道mychannel上链码mycc(版本1.0)是否可以提交:
export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
peer lifecycle chaincode checkcommitreadiness \
-o orderer.example.com:7050 --channelID mychannel \
--tls --cafile $ORDERER_CA --name mycc --version 1.0 \
--init-required --sequence 1
如果成功的话,该命令将返回已经批准链码定义的机构:
Chaincode definition for chaincode 'mycc', version '1.0', sequence '1' on channel
'mychannel' approval status by org:
Org1MSP: true
Org2MSP: true
也可以使用--output
标志输出JSON格式的内容:
export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
peer lifecycle chaincode checkcommitreadiness \
-o orderer.example.com:7050 --channelID mychannel --tls \
--cafile $ORDERER_CA --name mycc --version 1.0 \
--init-required --sequence 1 --output json
成功的话,上述命令将返回如下结果:
{
"Approvals": {
"Org1MSP": true,
"Org2MSP": true
}
}