fabric1.4 网络操作
建立第一个网络
进入对应目录
$ cd fabric-samples/first-network
在first-network目录下有两个自动化脚本byfn.sh和eyfn.sh, 这两个脚本的启动顺序是先执行byfn.sh再执行eyfn.sh(eyfn.sh不是必须的,eyfn.sh的作用稍后介绍)
查看帮助信息:
$ ./byfn.sh --help
up:启动
down:清除网络
restart:重新启动
generate:生成证书及创世块
upgrade:将网络从1.0升级到1.1
-c:用于指定channelName,默认值"mychannel"
-t:CLI timeout时间,默认值10
-d:延迟启动,默认值3
-f:使用指定的网络拓扑结构文件,默认使用docker-compose-cli.yaml
-s:指定使用的数据库,可选 goleveldb或couchdb
-l:指定chaincode使用的语言,可选golang 或node
-i:指定镜像tag,默认 "latest"
详细参数可通过./byfn.sh help查看
生成证书和密钥
为各种网络实体生成所有证书和密钥,用于引导订购服务以及配置通道所需的一系列配置事务
$ sudo ./byfn.sh -m generate
启动网络
$ sudo ./byfn.sh -m up
如果启动发生错误,则执行关闭命令后再次执行启动命令
最后输出如下内容代表启动且测试成功:
============== Query on peer1.org2 on channel 'mychannel' is successful ================
========= All GOOD, BYFN execution completed ===========
或者通过Node.js启动网络
./byfn.sh -m up -l node
first-network会生成1个orderer+4个peer+1个CLI的网络结构,整个网络包括2个org
关闭网络
$ sudo ./byfn.sh -m down
关闭网络之后, 可以一步一步地探索网络设置. 将杀死容器, 删除加密文件, 并从Docker Registry中删除链码图像
若在启动网络时遇到如下错误:
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"scripts/script.sh\": stat scripts/script.sh: no such file or directory": unknown
或者
ERROR: Encountered errors while bringing up the project.
ERROR !!!! Unable to start network
则执行
./byfn.sh down
清除网络后再启动
fabric1.4 网络操作的更多相关文章
- android内部培训视频_第四节(1)_异步网络操作
第四节(1):异步网络操作 一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMa ...
- Android网络操作的几种方法
安卓开发软件:AndroidStudio 服务器软件:Myeclipse+Tomcat 首先无论是哪种方式,安卓手机软件要想联网,必须要申请联网权限(android.permission.INTERN ...
- 在 shell 脚本获取 ip、数字转换等网络操作
在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ...
- 九、Android学习第八天——广播机制与WIFI网络操作(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 九.Android学习第八天——广播机制与WIFI网络操作 今天熟悉了An ...
- (原创)在service中定时执行网络操作的几点说明
执行网络操作是耗时操作,即便是在service中也要放到子线程中执行 这里我用到了async-http-client框架来执行异步请求操作 计时用的java原生Timer和TimerTask类 本来这 ...
- android之网络操作(1)
一.网络操作 在网络操作中JAVA已经为我提供了一套API用来进行网络操作,在android开发中我们仍可以这套API来做开发.下面通过一个简单的例子来了解一下android下的网络操作. 点击图中下 ...
- PHP网络操作函数汇总
PHP网络操作函数汇总 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了PHP网络操作函数汇总,本文列举了如gethostbyaddr.gethostbyname.head ...
- 自定义强大的C#网络操作基础类(NetHelper)
using System; using System.Text;using System.Net.Sockets;using System.Net.Mail;using System.Net; nam ...
- NodeJS学习之网络操作
NodeJS -- 网络操作 使用NodeJS内置的http模块简单实现HTTP服务器 var http = require('http'); http.createServer(function(r ...
随机推荐
- MySQL 插入或更新
MySQL DML 记录 数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作. 记录一些遇到的语法,以便随时查阅. 插入或更新 ON DU ...
- python3.x与2.x中print输出不换行
python3.x: print(i,end=' ') 循环输出: ... ------------------------- print(i,end='!') 循环输出:!!!... end=单引号 ...
- 为什么我们需要Q#?
原文地址:https://blogs.msdn.microsoft.com/visualstudio/2018/11/15/why-do-we-need-q/ 本文章为机器翻译. 你可能熟悉微软量子的 ...
- C#LeetCode刷题-栈
栈篇 # 题名 刷题 通过率 难度 20 有效的括号 C#LeetCode刷题之#20-有效的括号(Valid Parentheses) 33.0% 简单 42 接雨水 35.6% 困难 71 简 ...
- LeetCode406 queue-reconstruction-by-height详解
题目详情 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. 注意: 总人数少于 ...
- RoBERTa:一个调到最优参的BERT
RoBERTa: A Robustly Optimized BERT Pretraining Approach. Yinhan Liu, Myle Ott, Naman Goyal, et al. 2 ...
- 使用动态链接为什么还需要静态库lib文件
在Windows上使用动态链接时,不光需要头文件 .dll文件 还需要一个.lib 文件. 不是动态链接吗?为什么还需要静态库.lib文件? 实际上,这个.lib文件并不是静态库,而是 导入库 文件, ...
- Mybatis-06-Lombok
偷懒神器Lombok 1. 什么是Lombok? java library plugs build tools 2.使用步骤: 在IDEA中安装Lombok插件 在项目中导入lombok的jar包 ...
- JDK1.8源码学习-LinkedList
JDK1.8源码学习-LinkedList 目录 一.LinkedList简介 LinkedList是一个继承于AbstractSequentialList的双向链表,是可以在任意位置进行插入和移除操 ...
- 从零开始讲解JavaScript中作用域链的概念及用途
从零开始讲解JavaScript中作用域链的概念及用途 引言 正文 一.执行环境 二.作用域链 三.块级作用域 四.其他情况 五.总结 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号搜 ...