Hyperledger Fabric 1.0 从零开始(一)——吐槽
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后没过多久1.0就发布了。自从2017年7月HyperLedger/Fabric发布了1.0正式版后(可以参考:Hyperledger Fabric 1.0发布:基于区块链的开源分布式账本),公司领导就更加关注这个领域。然后,就安排我一个人来接手,我主要是做Android和iOS方向的开发,偶尔客串一下java后台服务开发,对linux的了解不是很深入,更别提什么zookeeper和kafka这些对我一个小小前端来讲都特别高大上的服务组件。接手后就开始按照已离职那批人留下的文档一行一行的敲和调试,其实就是copy代码到linux命令行里面,最后看到一个跑通的提示信息,然后也不知道是什么原理,就有个可用的restful服务,能够实现deploy、invoke和query等操作,当时是用了一台服务器做的,我也天真的以为这就搞定了,就好比tomcat里放个war包一样简单,但真正的噩梦才刚刚开始。
HyperLedger/Fabric1.0版本,相比较于0.6版本不仅性能上有了大幅的调优(Hyperledger Fabric1.0架构概览,主要是架构上的调整更加友好),在实际搭建和使用的方法上更是有了巨大的变化,这就导致我这个自我感觉入门了的门外汉彻底变成了一个连门在哪个方向都不知道的门外汉,尤其是当我得知restful方案已经被废弃后(参考这个:Remove deprecated devops REST API),简直悲愤欲绝,想死的心都有了。而且当我深入一点了解的时候,发现这是需要多台服务器做分布式部署,之前那团队干的压根就是个demo,最可悲的是我想申请IBM培训资源,直接被拒了……
好吧,上述吐槽仅是片面,关于Fabric这个项目的吐槽以后都会集中在此,不会在后续篇章中废话。
截止今天,笔者的Fabric项目基本已经完成整体搭建,所以就抽空来开个博客,写写这方面的内容,希望能够帮助那些从零开始的朋友们。
后面也会分篇来介绍如何一步一步从零开始做这个项目,这个真的是从零开始,因为到现在,我都不敢说自己区块链入门了!
整体篇章具体会包含如下内容:
目录
1:环境构建
2:Fabric源码及镜像文件处理
3:运行测试e2e
4:创建Fabric多节点集群
5:启动Fabric多节点集群
6:Fabric多节点集群生产部署
7:Fabric多节点集群生产启动
8:智能合约
9:CouchDB
10:CA
11:fabric-sdk-java应用
12:orderer分布式方案
13:Hyperledger Fabric问题小节
上述目录是笔者最近在做这个项目的时候一步一步记录下来的操作路径,主要也是担心自己会忘记流程,最终整理成博文需要慢慢来,也算是对自己在这个项目上有个交代了。
章节目录:
Hyperledger Fabric 1.0 从零开始(一)——吐槽
Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理
Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e
Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群
Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群
Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署
Hyperledger Fabric 1.0 从零开始(一)——吐槽的更多相关文章
- Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署
6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节 ...
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
- Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
1:环境构建 在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0.因此,启动Fabric网络中的节点需要先 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】
在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...
- Hyperledger Fabric 1.0 从零开始(一)
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...
- Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案
简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...
- Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e
3:运行测试e2e 3.1.运行fabric-samples的问题说明 该问题说明能够解决6.1.平台特定使用的二进制文件配置第一步的问题.可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本 ...
- Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群
5:启动Fabric多节点集群 5.1.启动orderer节点服务 上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群. 首先启动or ...
随机推荐
- 大端(Big Endian)与小端(Little Endian)
1. 你从哪里来?端模式(Endian)的这个词出自Jonathan Swift书写的<格列佛游记>.这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big ...
- python编码错误
初学python,遇到的最难忘的坑没有之一.这个问题起码困扰了我一周.在我写了一段代码之后经常遇见这样的报错. 本质原因是我用的python2,在编码流派中python2是比较奇葩的一派,不随大流.所 ...
- 不安装vc2015 Redistributable解决api-ms-win-crt-runtime-l1-1-0.dll丢失错误
一.背景 最近用到python下的cx_Oracle模块,开发环境中测试正常,用cx_freeze打包后,到用户机器上一部署,各种奇奇怪怪的问题频出,运行环境如下: a.开发环境:64位win10操作 ...
- os.path python使用遍历文件夹文件
import os import os.path rootdir = "d:\data" # 指明被遍历的文件夹 for parent,dirnames,filenames in ...
- Servlet中Response对象应用1(输出简单文字、实现文件下载)
通过response对象可以实现很多功能,下面的代码都是在myeclipse上实现过的,整理下路,以备后用. response对象应用1 1向客户端发送简单消息 A利用已经声明的对象,调用其getOu ...
- UEditor编辑器第一次赋值失败的解决方法
网上查了很多方式都不是很好用,最后想到了这样的处理方式 首先在js中定义一个全局变量 var ue = null; 然后在初始化显示编辑器的时候js这样写 if (ue == null) { ue = ...
- Windows下JNI的使用教程
JNI的使用大致有以下4个步骤: 一.在Java中写native方法 二.用javah命令生成C/C++头文件 三.写对应的C/C++程序实现头文件中声明的方法,并编译成库文件 四.在Java中加载这 ...
- Javaweb项目碰到的问题- Access denied for user 'root'@'localhost' (using password: YES)
出现未给localhost root用户授权,主要是项目中存在的多个xxx.properties,其中用户名为root的password的值不完全相同导致的,使用eclipse的search 功能找到 ...
- 第一篇--认识Jmeter
Jmeter是Apache组织开发的基于Java的压力测试工具,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java 小服务程序.CGI 脚 ...
- Python之set
set set集合,是一个无序且不重复的元素集合 set的优势 set 的访问数度快 set 原生解决数据重复问题 # 数据库中原有 old_dict = { "#1":{ 'ho ...