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

通常用于转换protobufJSON格式的文件,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

转载于:https://www.cnblogs.com/cbkj-xd/p/11170654.html

Hyperledger Fabric 命令整理相关推荐

  1. Hyperledger Fabric CA的命令行用法

    介绍Hyperledger Fabric CA的命令行方式简单用法 Hyperledger Fabric CA由server和client两部分组成. 设置两个环境变量 export FABRIC_C ...

  2. Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)

    前言 本文主要目的是用于整理Hyperledger  Fabric中关于chaincode 管理和操作的内容,作者以release-1.2为范本进行讲解. 主要参考链接: https://hyperl ...

  3. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助. 本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LT ...

  4. Hyperledger Fabric 入门必读书籍

    下面整理一些 Hyperledger Fabric 一些比较好的区块链书籍,仅供学习参考. 1. 区块链原理.设计与应用 1.1 书籍封面 1.2 介绍 本书由超级账本核心设计和开发者撰写,是区块链开 ...

  5. Hyperledger Fabric 之Peers介绍

    本文主要对Hyperledger Fabric中的英文资料进行翻译和整理,原英文文档地址为:https://github.com/hyperledger/fabric/blob/release-1.2 ...

  6. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)

    Hyperledger Fabric 2.0 官方文档中文版 第6章 教程下 总目录 6.教程(下) 使用CouchDB 为什么使用CouchDB? 在Hyperledger Fabric中启用Cou ...

  7. Hyperledger Fabric/Fabric-samples 安装及使用(Mac)

    因为未找到mac相关的安装方式,故根据优秀博主的文档以及本人安装.使用的经验整理此文. 1.安装清单 brew Git cUrl docker docker-compose GoLang Fabric ...

  8. 超级账本(Hyperledger Fabric)之权限管理浅析

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 超级账本(Hyperledger Fabric)之权限管理浅析 超级账本是联盟链的代表,而其相对于共链(例如比特币,以太 ...

  9. 手把手教你走进Hyperledger Fabric

    现在,Blockchain是业内新的热门话题.但是,寻找良好的资源来学习这项引人入胜的技术并不是一件容易的事.为了让其他人更容易学习,我开始在区块链和分布式分类帐技术(DLT)平台领域开展一系列工作. ...

最新文章

  1. Java h265视频抽帧提取照片支持Window,Linux
  2. 在DataGrid(WebControl)中处理DropDownList事件的补充说明
  3. The Road to learn React书籍学习笔记(第三章)
  4. GDB调试汇编堆栈过程分析
  5. linux磁盘高,CentOS 7.2中磁盘iowait过高解决
  6. android linux kernel VS standard linux kernel
  7. Firefox火狐Flash插件卡死问题完美解决方法(转载)
  8. 【转载】前后端分离的思考与实践(五)
  9. cdsn 最大分类数相关
  10. 六轴UR机械臂标准DH正逆运动学公式推导+代码验证C++
  11. 北京邮电大学计算机学院考研调剂,北京邮电大学计算机学院2020考研调剂缺额信息...
  12. debconf: DbDriver “config“: /var/cache/debconf/config.dat is locked by another process的解决方法
  13. Quartus 调试中的Nios 程序
  14. 【MM系列】SAP MM物料账在制品承担差异功能及配置
  15. 智慧灯杆网关+云平台,助力智慧城市智能照明
  16. 腾讯笔试04-24 题目二
  17. HTML旅游网页设计制作 DW旅游网站官网滚动网页 DIV旅游风景介绍网页设计与实现
  18. 注册表里如何添加开机启动项
  19. 平衡树(Treap)的基本操作
  20. 本办法学SOAP---SAOP/WSDL祥解

热门文章

  1. MySQL 跨版本主从复制时报错:ERROR 1794 (HY000): Slave is not configured or failed to initialize properly....
  2. sort函数用于vector向量的排序
  3. 关于事件模型,js事件绑定和解除的学习
  4. GCD三部曲之一---辗转相除法
  5. iOS 获取屏幕的属性和宽度
  6. 谈谈var变量提升以及var,let,const的区别
  7. CSS3新增了哪些特性
  8. 如何通过JS获取元素宽高
  9. 【PHP学习】—利用ajax原理实现登录功能(八)
  10. matlab 指定函数拟合,matlab中曲线拟合问题---使用指定函数进行曲线拟合