Hyperledger Fabric 常用命令

时间:2019-12-18
本文章向大家介绍Hyperledger Fabric 常用命令,主要包括Hyperledger Fabric 常用命令使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Peer常用命令:

   #peer chaincode --help
        #peer channel list --help
    --logging-level <string>
        #<string>:debug,info,notice,warning,error,critical
    --version

  peer命令包含五个不同的自命令:

peer chaincode [option] [flags]

peer chaincode install [flags]

将指定的链代码打包到部署规范中,并将其保存到peer路径中。参数:
-c:JSON字串的链代码构造函数消息(默认”{}”)
-h:帮助
-l:编写chaincode的语言,默认”golang”
-n:chaincode名
-p:chaincode路径
-v:chaincode版本
-o:orderer节点

peer chaincode instantiate [flags]

-C:channel ID string
-c:JSON字串的链代码构造函数消息(默认”{}”)
-h:帮助
-l:编写chaincode的语言,默认”golang”
-n:chaincode名
-E: The name of the endorsement system chaincode to be used for this chaincode
-P:与此代码相关的认可政策
-o:orderer节点
实例

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 chaincode instantiate -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')"

  

peer chaincode invoke

调用指定的链代码,它将尝试提交指定的事务到网络中
-C:channel ID string
-c:JSON字串的链代码构造函数消息(默认”{}”)
-h:help
-n:chaincode名字
-o:orderer节点
实例

peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --peerAddresses peer0.org2.example.com:7051 -c '{"Args":["invoke","a","b","10"]}'
peer chaincode list

如果指定通道,则在通道中获取实例化的链代码,或在peer节点上获取已安装的链代码
-C
-h
-o

peer chaincode package

将指定的链代码打包到部署规范中
-s:create CC deployment spec for owner endorsements instead of raw CC deployment spec
-c:JSON字串的链代码构造函数消息(默认”{}”)
-h:help
-n:chaincode名字
-o:orderer节点
-i:为chaincode初始化协议
-l:chaincode编写语言,默认”golang”
-p:chaincode路径

peer chaincode query

Get endorsed result of chaincode function call and print it. It won’t generate transaction.
-C:channelID string
-c:JSON字串的链代码构造函数消息(默认”{}”)
-h:help
-n:chaincode名字
-r:如果为true,则将查询值输出为原始字节,否则格式化为可打印字符串
实例:

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
peer chaincode signpackage

Sign the specified chaincode package
-h
-o

peer chaincode upgrade

使用指定得chaincode替换现有得chaincode,新的chaincode将在提交事务时立即替换现有的chaincode
实例

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 chaincode upgrade -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -v 1.2 -c '{"Args":["init","a","100","b","200","c","300"]}' -P "AND ('Org1MSP.peer','Org2MSP.peer')" 

peer channel [command]

peer channel create

创建一个通道,并将创世块写入文件
-c:channelID string
-f:事务文件的配置信息
-o,–orderer:orderer节点
例子:

peer channel create -c mychannel -f ./createchannel.txn --orderer orderer.example.com:7050
或者
 peer channel create -c mychannel --orderer orderer.example.com:7050 -f ./createchannel.txn -t 30s
peer channel fetch

获取指定得块,将其写入文件
例子

peer channel fetch newest mychannel.block -c mychannel --orderer orderer.example.com:7050
peer channel getinfo

获取指定频道得区块链信息,需要’-c’
例子:

peer channel getinfo -c mychannel
peer channel join

将peer节点加入通道中
例子

peer channel join -b ./mychannel.genesis.block
peer channel list

加入通道的节点列表

peer channel list
peer channel signconfigtx

在文件系统上签署配置的更新文件,需要’-f’

peer channel update

签署并将提供的配置文件更新发送到通道中,需要’-f’,’-o’,’-c’
例子:

peer channel update -c mychannel -f ./updatechannel.txn -o orderer.example.com:7050

peer logging [option] [flags]

允许用户动态观察和配置peer的日志级别

peer logging getlevel

返回peer节点的日志级别

peer logging getlevel peer
peer logging revertlevels

将日志记录级别还原为对等启动结束时的级别

peer logging revertlevels
peer logging setlevel

设置正则表达式匹配的所有模块的日志记录级别

peer logging setlevel peer warning

peer node [option] [flags]

该命令用于启动一个peer node节点或者改变peer node节点的状态

peer node start

启动与网络交互的节点
例子:

peer node start --peer-chaincodedev
peer node status

返回正在运行的node节点的状态


peer version [option] [flags]

该命令用于显示peer的版本号和版本信息等


configtxgen

该命令用来为用户创建与检查配置相关的工作

输出一个创世块
configtxgen -outputBlock genesis_block.pb -profile SampleSingleMSPSoloV1_1 -channelID orderer-system-channel
输出一个创建通道的tx
configtxgen -outputCreateChannelTx create_chan_tx.pb -profile SampleSingleMSPChannelV1_1 -channelID application-channel-1
检查一个起源块
configtxgen -inspectBlock genesis_block.pb
检查频道创建tx
configtxgen -inspectChannelCreateTx create_chan_tx.pb
打印一个组织定义
configtxgen -printOrg Org1
输出anchor peer tx
configtxgen -outputAnchorPeersUpdate anchor_peer_tx.pb -profile SampleSingleMSPChannelV1_1 -asOrg Org1

configtxlator

允许用户在protobuf和JSON版本的数据结构之间进行转换并创建配置更新,该命令也可以启动REST服务器,通过HTTP公开其功能

start

Start the configtxlator REST server

configtxlator start [<flags>]

# --help
# --hostname="0.0.0.0"
# --port=7059

proto_encode

Converts a JSON document to protobuf

configtxlator proto_encode --type=TYPE [<flags>]
# --help
# --type=TYPE
# --input=/dev/stdin
# --output=/dev/stdout

proto_decode

Converts a proto message to JSON

configtxlator proto_decode --type=TYPE [<flags>]
# --help
# --type=TYPE
# --input=/dev/stdin
# --output=/dev/stdout

compute_update

采用两个封送的common.Config消息并计算在两者之间转换的配置更新

configtxlator compute_update --channel_id=CHANNEL_ID [<flags>]
# --help
# --original=ORIGINAL
# --updated=UPDATED
# --channel_id=CHANNEL_ID
# --output=/dev/stdout

原文地址:https://www.cnblogs.com/zhanghh/p/12059689.html