搭建Fabric网络(三)artifacts是怎么生成的:cryptogen和configtxgen
在first-network里,./byfn.sh generate可以生成artifacts文件。
generate参数其实是使用了cryptogen和configtxgen这两个工具,这两个工具分别生成不同的artifacts文件。
这里主要介绍详细介绍这两个工具的配置。
1, cryptogen
- ../bin/cryptogen generate --config=./crypto-config.yaml
执行成功之后会显示
- org1.example.com
- org2.example.com
cryptogen工具生成了crypto-config文件夹,这个文件包含了各个节点的证书。
这些文件在以后我们都会用到。
创建Channel的config transaction
- export CHANNEL_NAME=mychannel && ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
然后得到如下输出
2018-05-11 14:46:57.861 CST [common/tools/configtxgen] main -> INFO 001 Loading configuration
2018-05-11 14:46:57.869 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx
2018-05-11 14:46:57.974 CST [msp] getMspConfig -> INFO 003 Loading NodeOUs
2018-05-11 14:46:57.996 CST [msp] getMspConfig -> INFO 004 Loading NodeOUs
2018-05-11 14:46:58.042 CST [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 005 Writing new channel tx
指定Anchor节点
- ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
- ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
然后得到如下输出
2018-05-11 14:49:52.061 CST [common/tools/configtxgen] main -> INFO 001 Loading configuration
2018-05-11 14:49:52.079 CST [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update
2018-05-11 14:49:52.079 CST [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update
搭建Fabric网络(三)artifacts是怎么生成的:cryptogen和configtxgen的更多相关文章
- Hyperledger Fabric手动生成CA证书搭建Fabric网络
之前介绍了使用官方脚本自动化启动一个Fabric网络,并且所有的证书都是通过官方的命令行工具cryptogen直接生成网络中的所有节点的证书.在开发环境可以这么简单进行,但是生成环境下还是需要我们自定 ...
- 搭建Fabric网络(二)下载bin和images
上一篇已经把运行和开发Fabric需要的程序都安装好了,这一篇主要讲怎么运行一个简单的Fabric网络. 1. 下载官方Sample代码 git clone -b master https://gi ...
- 搭建Fabric网络(一)安装开发工具
Fabric V1.1.0已经发布了,这里准备一篇文章来介绍Fabric V1.1.0 网络怎么搭建. 安装cURL https://curl.haxx.se/download.html 安装Dock ...
- 搭建Fabric网络(四)运行网络
启动网络 docker-compose -f docker-compose-cli.yaml up -d如果container cli关闭了,可以手动启动 docker start cli 设置环境变 ...
- 搭建基于hyperledger fabric的联盟社区(五) --启动Fabric网络
现在所有的文件都已经准备完毕,我们可以启动fabric网络了. 一.启动orderer节点 在orderer服务器上运行: cd ~/go/src/github.com/hyperledger/fab ...
- hyperledger中文文档学习-4-构建第一个fabric网络
接下来的操作都将在hyperledge环境安装构建的虚拟机的环境下进行 参考https://hyperledgercn.github.io/hyperledgerDocs/build_network_ ...
- 基于ubuntu16.04快速构建Hyperledger Fabric网络
前言 最近在参加一个比赛,使用到了区块链的开源软件hyperledger,由于之前从未接触过区块链,以及和区块链开发相关的内容,所有在网上查阅了大量的资料,并且通过学习yeasy(杨宝华)开源的入门书 ...
- fabric网络环境启动过程详解
这篇文章对fabric的网络环境启动过程进行讲解,也就是我们上节讲到的启动测试fabric网络环境时运行network_setup.sh这个文件的执行流程 fabric网络环境启动过程详解 上一节我们 ...
- 从零开始自己搭建复杂网络(以Tensorflow为例)
从零开始自己搭建复杂网络(以MobileNetV2为例) tensorflow经过这几年的发展,已经成长为最大的神经网络框架.而mobileNetV2在经过Xception的实践与深度可分离卷积的应用 ...
随机推荐
- ssh 制作免密登录(免密登录多台服务器)
场景:服务器B (192.168.1.101)免密登录A(192.168.1.100)服务器 1.登录服务器B ①生产公钥 ssh-keygen -t rsa Enter file in which ...
- 【python】脚本连续发送QQ邮件
今天习得用python写一个连续发送QQ邮件的脚本,经过测试,成功给国内外的服务器发送邮件,包括QQ邮箱.163邮箱.google邮箱,香港科技大学的邮箱和爱丁堡大学的邮箱.一下逐步解答相关技巧. 首 ...
- [蓝桥杯]ALGO-181.算法训练_According to Bartjens
问题描述 计算器和计算机的大量普及也有其弊端.即便是受过专业技术训练的学生们也很可能缺乏计算能力.由于电脑的大量使用,很多人无法心算出7*8这样的算式,甚至是用纸和笔也算不出13*.不过谁在意呢? B ...
- Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)
一.SQLiteOpenHelper类: 这次我们通过sqlite来动态添加数据,接下来我们创建一个openHelper.java,在前面sqlite博客中我们已经详细的讲了SQLite的创建及使用等 ...
- window 10 专业版激活|win 10专业版激活码
下面讲解Windows 10专业版(windows 10 profession version)使用激活码激活 鼠标移至屏幕最左下处右击点击 Windows PowerShell(管理员) 在wind ...
- Vue中table表头合并的用法
<div class="panel-container"> <div> <table class="table-head" wid ...
- thinkphp5 Exception类重定义
重点定义自己的错误信息和错误码: 在TP5的配置文件中有下面一段 // 异常处理handle类 留空使用 \think\exception\Handle 'exception_handle' => ...
- JDK1.7 ConcurrentHashMap--解决高并发下的HashMap使用问题
高并发下也可以使用HashTable .Collections.synchronizedMap因为他们是线程安全的,但是却牺牲了性能,无论是读操作.写操作都是给整个集合加锁,导致同一时间内其他操作均为 ...
- JDK1.7 的 HashMap
HashMap是一个用于存储key-value的键值对集合,每个键值对都是一个Entry.这些键值对分散存储在一个数组中,这个数组就是HashMap的主干. HashMap每个初始值都为null. 1 ...
- leetcode981
考虑线性的搜索会超时,所以用二叉搜索来解决,代码如下: class TimeMap: def __init__(self): self.ST = dict() def set(self, key: ' ...