当前位置:网站首页 > 新闻动态

Hyperledger Fabric常用命令总结

发布日期:2018-08-12 来源:CSDN 点击:

Peer

常用命令:

 #peer chaincode --help #peer channel list --help --logging-level <string> #<string>:debug,info,notice,warning,error,critical --version
  • 1
  • 2
  • 3
  • 4
  • 5

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')"
  • 1
  • 2
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"]}'
  • 1
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"]}'
  • 1
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')" 
  • 1
  • 2
  • 3

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
  • 1
  • 2
  • 3
peer channel fetch

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

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

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

peer channel getinfo -c mychannel
  • 1
peer channel join

将peer节点加入通道中 
例子

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

加入通道的节点列表

peer channel list
  • 1
peer channel signconfigtx

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

peer channel update

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

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

peer logging [option] [flags]

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

peer logging getlevel

返回peer节点的日志级别

peer logging getlevel peer
  • 1
peer logging revertlevels

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

peer logging revertlevels
  • 1
peer logging setlevel

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

peer logging setlevel peer warning
  • 1

peer node [option] [flags]

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

peer node start

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

peer node start --peer-chaincodedev
  • 1
peer node status

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


peer version [option] [flags]

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


configtxgen

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

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

configtxlator

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

start

Start the configtxlator REST server

configtxlator start [<flags>] # --help # --hostname="0.0.0.0" # --port=7059
  • 1
  • 2
  • 3
  • 4
  • 5

proto_encode

Converts a JSON document to protobuf

configtxlator proto_encode --type=TYPE [<flags>] # --help # --type=TYPE # --input=/dev/stdin # --output=/dev/stdout
  • 1
  • 2
  • 3
  • 4
  • 5

proto_decode

Converts a proto message to JSON

configtxlator proto_decode --type=TYPE [<flags>] # --help # --type=TYPE # --input=/dev/stdin # --output=/dev/stdout
  • 1
  • 2
  • 3
  • 4
  • 5

compute_update

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

configtxlator compute_update --channel_id=CHANNEL_ID [<flags>] # --help # --original=ORIGINAL # --updated=UPDATED # --channel_id=CHANNEL_ID # --output=/dev/stdout
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

version

显示版本信息

configtxlator version # --help
  • 1
  • 2

cryptogen

用于生成Hyperledger Fabric密钥材料的实用程序

cryptogen help

用于生成Hyperledger Fabric密钥材料的工具

cryptogen generate

生成密钥程序

cryptogen showtemplate

显示默认的配置模板

cryptogen extend

扩展已存在的网络 
例子

cryptogen extend --input="crypto-config" --config=config.yaml org3.example.com
  • 1

cryptogen version

显示版本信息

    8hand项目组 版权所有 Copyright © 2000 - 8handsoft. All Right Reserved.