Hyperledger Fabric 命令整理
Peer节点命令
Peer node
start
启动一个Peer节点:
peer node start
status
获取当前节点的状态信息
peer node status
reset
重置当前节点加入的通道所有的数据到创世区块,意思就是说删除当前Peer接收到的所有区块信息。执行当前命令时,节点必须处于离线状态,当节点再次上线时,将会从Orderer或其他Peer节点处重新接收区块数据。
peer node reset
rollback
回滚当前Peer节点接收到的区块数据到指定的区块号。执行当前命令时,节点必须处于离线状态,当节点再次上线时,将会从Orderer或其他Peer节点处重新接收区块数据。
peer node rollback -b 需要回滚到的区块号 -c 指定的通道ID
Peer channel
这一部分涉及Peer节点对通道的操作
create
创建一个通道并将创世区块写入文件
peer channel create -c 通道ID -f channel.tx -f 超时值
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel create -c mychannel --orderer orderer.example.com:7050 -f ./createchannel.txn -t 30s
fetch
获取一个具体区块信息并写入文件
peer channel fetch <newest|oldest|config|(number)> [输出文件路径名] -c 通道ID
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel fetch newest mychannel.block -c mychannel --orderer orderer.example.com:7050
peer channel fetch 16 -c mychannel --orderer orderer.example.com:7050
getinfo
获取具体的通道信息
peer channel getinfo -c 通道ID
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel getinfo -c mychannel
join
将一个指定的节点加入通道
peer channel join -b 包含创世区块的路径
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel join -b ./mychannel.genesis.block
list
列出指定的节点已加入的通道
peer channel list
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
signconfigtx
对文件系统中用于更新配置信息的文件签名
peer channel signconfigtx -f 文件
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel signconfigtx -f updatechannel.tx
update
签名并发送配置更新文件到通道中,一般用于锚节点更新
peer channel update -c 通道ID -f 配置更新文件
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer channel update -c mychannel -f ./updatechannel.txn -o orderer.example.com:7050
Peer chaincode
这一部分涉及Peer节点对链码的相关操作
install
打包链码数据为可部署的结构,并存储到当前Peer节点的路径,简而言之就是安装链码。
peer chaincode install -l 编写链码所使用的语言 -n 链码名称 -p 链码路径 -v 链码版本
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
instantiate
链码实例化
peer chaincode instantiate -C 通道ID -l 编写链码所使用的语言 -n 链码名称 -v 链码版本 -P 指定链码的策略 -E 指定对该用户链码进行背书的系统链码 -V 指定对该用户链码进行验证的系统链码
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
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')"
invoke
调用链码的功能
peer chaincode invoke -C 通道ID -n 链码名称 -c 传入的参数
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -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:9051 -c '{"Args":["invoke","a","b","10"]}'
list
如果指定通道,则列出已实例化的链码,否则列出所有已安装的链码
peer chaincode list -C 通道ID
--installed
--instantiated
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer chaincode list --installed
peer chaincode list --instantiated -C mychannel
package
将打包链码为可部署的结构
peer chaincode package -i 实例化策略 -l 编写链码所使用的语言 -n 链码名称 -p 链码的本地路径 -s 创建一个用于部署链码的标准结构 -S 对用于部署链码的标准结构使用本地MSP签名 -v 链码版本 -o Orderer节点主机:端口
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径
#例子
peer chaincode package ccpack.out -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v 1.1 -s -S
query
调用链码功能对链码数据进行查询,不写入区块
peer chaincode query -C 通道ID -n 链码名称 -c 参数 -x 如果成功查询,则输出16进制结果
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
signpackage
对已打包的链码进行签名
peer chaincode signpackage
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
peer chaincode signpackage ccwith1sig.pak ccwith2sig.pak
upgrade
更新一个存在的链码.命令与实例化链码相似。
peer chaincode upgrade -C 通道ID -n 链码名称 -p 链码的本地路径 -P 链码的实例化策略 -v 链码的版本 -E 指定对该用户链码进行背书的系统链码 -V 指定对该用户链码进行验证的系统链码
#全局变量
--tls 是否使用TLS加密 --cafile CA证书路径 --certfile X509公钥文件路径 -o Orderer节点主机:端口
#例子
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 version
打印当前Peer服务器的版本
peer version
configtxgen
该命令允许用户创建与检查通道配置信息
-asOrg 根据组织名称生成配置信息
-channelCreateTxBaseProfile
-channeID 使用配置文件中的通道ID
-configPath 指定配置文件的路径
-inspectBlock 打印具体路径下的区块的配置信息
-inspectChannelCreateTx 打印具体路径下的Transaction的配置信息
-outputAnchorPeersUpdate 创建一个用于更新锚节点的配置信息
-outputBlock 在指定的路径下生成创世区块
-outputCreateChannelTx 在指定的路径下生成创建通道的配置文件
-printOrg 以JSON的格式打印组织的信息
-profile 从configtx.yaml文件中生成profile 默认为``SampleInsecureSolo``
-version 打印版本信息
例子
#生成创世区块
configtxgen -outputBlock genesis_block.pb -profile SampleSingleMSPSoloV1_1 -channelID orderer-system-channel
#生成创建通道配置文件
configtxgen -outputCreateChannelTx create_chan_tx.pb -profile SampleSingleMSPChannelV1_1 -channelID application-channel-1
#查看创世区块信息
configtxgen -inspectBlock genesis_block.pb
#查看创建通道配置信息
configtxgen -inspectChannelCreateTx create_chan_tx.pb
#打印组织信息
configtxgen -printOrg Org1
#生成锚节点配置文件
configtxgen -outputAnchorPeersUpdate anchor_peer_tx.pb -profile SampleSingleMSPChannelV1_1 -asOrg Org1
configtxlator
通常用于转换protobuf与JSON格式的文件,protobuf一般为后缀为.pb的文件,由configtxgen生成
================start================
configtxlator start
--hostname="0.0.0.0"
--port=7059
--CORS=CORS
#启动configtxlator REST 服务
================start================
================proto_encode================
#转换``JSON``格式文件到``protobuf``格式
configtxlator proto_encode
--type=TYPE #``protobuf``格式的文件的类型,如'common.Config'
--input=/dev/stdin #包含'JSON'文件的地址
--output=/dev/stdout #输出地址
================proto_encode================
================proto_decode================
#转换``protobuf``格式到``JSON``格式文件
configtxlator proto_encode
--type=TYPE
--input=/dev/stdin
--output=/dev/stdout
================proto_decode================
================compute_update================
================version================
configtxlator version
#打印版本信息
cryptogen
用于生成Fabric中的密钥,用于测试环境下,生产环境下不使用
============generate====================
cryptogen generate
--output="crypto-config" 将文件生成到crypto-config文件夹下
--config=CONFIG 使用模板配置
============generate====================
============showtemplate====================
cryptogen showtemplate
#显示模板配置
============showtemplate====================
============extend====================
cryptogen extend
扩展已存在的网络
--output="crypto-config" 将文件生成到crypto-config文件夹下
--config=CONFIG 使用模板配置
============extend====================
============version====================
cryptogen version
#打印版本信息
============version====================
参考文档:https://hyperledger-fabric.readthedocs.io/en/release-1.4/command_ref.html
Hyperledger Fabric 命令整理的更多相关文章
- Hyperledger Fabric CA的命令行用法
介绍Hyperledger Fabric CA的命令行方式简单用法 Hyperledger Fabric CA由server和client两部分组成. 设置两个环境变量 export FABRIC_C ...
- Hyperledger Fabric 常用命令
Peer常用命令: #peer chaincode --help #peer channel list --help --logging-level <string> #<strin ...
- hyperledger fabric 架设命令
单节点架设 Order 网络: cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ rm -rf channel-artifacts ...
- Hyperledger Fabric 1.0 从零开始(一)——吐槽
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后没过多久1.0就发布了.自从2017 ...
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- hyperledger fabric部署总结
之前在有道云笔记上分享过,但想想还是搬到这里来吧,以后统一方便整理自己的知识进入正题.... 之前在调研 hyperledger fabric,其实部署说明官网都有,只是东西都是国外的照着操作也会遇到 ...
- Hyperledger Fabric 1.0 从零开始(一)
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...
- Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)
前言 本文主要目的是用于整理Hyperledger Fabric中关于chaincode 管理和操作的内容,作者以release-1.2为范本进行讲解. 主要参考链接: https://hyperl ...
- (一)Hyperledger Fabric 1.1安装部署-基础环境搭建
在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...
随机推荐
- [转]更改ejs模板后缀.ejs为.html
三种写法 1,express老写法,3.*已经不支持 app.register('.html', require('ejs')); app.set('view engine', 'ejs'); 2, ...
- aravel 之父 Taylor Otwell :我是如何工作的
知名 PHP Web 开发框架 Laravel 之父 Taylor Otwell 发文描述了自己的日常工作状态:全职做 Laravel ,朝八晚五,使用 Sublime Text 3 写代码,终端使用 ...
- 【全面解禁!真正的Expression Blend实战开发技巧】第三章 从最常用ButtonStyle开始 - TextButton
原文:[全面解禁!真正的Expression Blend实战开发技巧]第三章 从最常用ButtonStyle开始 - TextButton 在实际项目中,使用blend做的最多的一定是各种自定义But ...
- Java FTP 基本操作
最近工作中用到了 FTP 相关的操作,所以借此机会了解了下具体内容. FTP基础 关于 FTP 基础推荐阅读<使用 Socket 通信实现 FTP 客户端程序>,其中需要特别注意的是主动模 ...
- Win8 Metro(C#)数字图像处理--3.1图像均值计算
原文:Win8 Metro(C#)数字图像处理--3.1图像均值计算 /// <summary> /// Mean value computing. /// </summary> ...
- Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar
原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先 ...
- FMX App的Application的事件(各种手机的全局按键)
直接上代码,还有条经验就是SetApplicationEventHandler可注册多个事件方法. unit Unit6; interface uses System.SysUtils, Syste ...
- QT 设置应用程序图标和可执行程序图标(另有setWindowTitle和setWindowIcon)
首先准备个ICO图标.例如:myappico.ico用记事本新建个文件里面就写一行:IDI_ICON1 ICON DISCARDABLE "/images/myap ...
- 国人Web前端开发必备干货,一个完美支持IE6在内所有浏览器的CSS框架
摘要: 企户动CSS框架是一个能够完美支持IE6~7在内的所有浏览器的 HTML&CSS 前端框架!给Web开发提供了自适应宽度的百分比多列网格,以及已语义化和结构化的标题.段落.列表.表格. ...
- HTML连载9-video标签的第二种格式&audio标签
一.video第二种格式 1.背景:由于视频数据非常重要,所以五大浏览器厂商都不愿意支持别人的视频格式,所以导致了没有一种视频格式是所有浏览器都支持的.这个时候W3C为了解决这个问题,所以推出了第二种 ...