注:在目录~/github.com/hyperledger/fabric-samples/test-network下,执行以下命令
export PATH= P W D / . . / b i n : {PWD}/../bin: PWD/../bin:PATH #将peer命令加入环境变量
peer有不同的子命令,每个命令都可以让指定的 peer 节点执行特定的一组任务。
peer 命令的5个子命令如下:
(1)peer channel [option] [flags] #允许管理员在Peer上执行通道相关的操作,比如加入通道,或者列出当前Peer加入的通道。
peer channel join
(在启动first-network中)
(2)peer chaincode [option] [flags] #允许管理员执行与一个节点上运行有关的链码,例如安装、实例化、调用、包装、查询和升级链码。
用peer chaincode install子命令选项在节点上安装一个链码,或者用peer chaincode query子命令选项为一节点上账本的当前值查询链码。
每个子命令都有一套专门对应各子命令的参数,以及一套涉及到所有peer chaincode子命令的全局参数。但并不是所有的子命令都会使用这些参数。比如,query子命令就不需要–orderer参数。
例1:
使用peer命令初始化资产
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}'
–tls
当与orderer端点通信时用TLS
–cafile
是通往一文件的路径,该文件包含了用于排序节点的PEM编码受信任证书
–certfile
是通往一文件的路径,该文件包含了用于和orderer端点进行相互TLS通信的PEM编码X509公钥。
–ordererTLSHostnameOverride
验证与orderer的TLS连接时要用到的主机名
–peerAddresses
要连接到的peer节点的地址
–tlsRootCertFiles
如果启用了TLS,则指向要连接的peer节点的TLS根证书文件的路径。指定的证书的顺序和数量应与–peeradresses标志匹配
例2:
使用peer查询资产信息
peer chaincode query -C mychannel -n basic -c ‘{“Args”:[“GetAllAssets”]}’
使用peer调用链码实现资产转换
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"TransferAsset","Args":["asset6","Christopher"]}'
(3)peer lifecycle chaincode [option] [flags]
peer lifecycle chaincode子命令允许管理员使用Fabric chaincode生命周期来打包链码,将其安装到peer节点上,组织批准链码定义(提议),然后将定义(提议)提交到通道。定义(提议)成功提交到通道后,链码即可使用。
注:Fabric2.0引入Fabric chaincode生命周期
peer lifecycle chaincode package
peer lifecycle chaincode install
peer lifecycle chaincode queryinstalled
peer lifecycle chaincode getinstalledpackage
peer lifecycle chaincode approveformyorg
peer lifecycle chaincode queryapproved
peer lifecycle chaincode checkcommitreadiness
peer lifecycle chaincode commit
peer lifecycle chaincode querycommitted
(4)peer node [option] [flags]
管理员可以通过peer node命令来启动Peer节点,将节点中的所有通道重置为创世区块,或者将某个通道回滚到给定区块号。
(5 )peer version [option] [flags]