Hyperledger学习小结

自学Hyperledger Composer也有段时间了,是时候对所学的知识总结一下了。因为没有实际项目参与的话,差不多也就到此为止了。后续可能会去了解一下以太坊的技术实践。所以在这之前,有必要对之前掌握的内容做一下小结,整理下整个Hyperledger的重要的知识点,以便以后重拾的时候可以快速上手。

Hyperledger到底是个啥

image

Hyperledger是一个由Linux基金会发起的区块链解决方案项目,包含了多个子项目。通常大家提到的Hyperledger主要指的是其中的Fabric子项目。

image

Hyperledger目前包含以下几个子项目:

框架类项目:

  • Sawtooth 为超级账本提供数字记录(如资产所有权)的功能
  • Iroha 提供基于区块链的平台实现
  • Fabric 提供区块链底层的基础设施(如超级块,区块,CA,PKI等等),目前由IBM主导开发
  • Burrow 提供兼容以太坊智能合约的功能(EVM兼容性),目前还在孵化中
  • Indy 为超级账本提供分布式账本的功能,目前还在孵化中

工具类项目:

  • Caliper 区块链的压测工具,目前还在孵化中
  • Cello 区块链的运维工具,简化部署操作,目前还在孵化中
  • Composer 区块链的开发和构建工具,目前还在孵化中
  • Explorer 区块链的可视化层,目前还在孵化中
  • Quilt 提供了跨账本,跨区块链与非区块链的支付协议

虽然大部分项目并未正式release,还处于孵化中,但是已经表现出相当高的活跃性,并且有诸多大厂商参与。Hyperledger公布的成员列表: https://www.hyperledger.org/members 。 可以看到在国内参与的厂商也非常多,比如百度是超级账本项目的主要成员,阿里是一般成员等等。

总之这个项目目前表现出非常高的活跃度和关注度,未来还需要时间的沉淀与积累,相信能有突飞猛进的发展,拭目以待。

Fabric小结

之前的主要精力都花在了整个超级账本最核心的项目——Fabric上,对这个项目做一个小结。这个项目可以说是目前整个Hyperledger中最核心最活跃的项目了,需要先搞清楚这个项目是怎么回事,再去看其他的项目。

Fabric的目标

搭建联盟链/私有链,提供底层的基础设施。Fabric使用Go语言编写,本身提供Go, Node.js, JAVA(未来)的SDK。整个项目分为服务性的程序(持续后台运行提供服务以及相关接口)peer,ordererfabric-ca,以及工具类的程序(一次性运行,产生必要的服务配置文件等等)cryptogen,configtxlator,configtxgen等等。

Fabric提供区块链基础运行环境,以及chaincode的运行功能。

Fabric的运行环境

理论上使用Go编写,跨平台,支持所有操作系统。但是实际上根据周边配套设施的选型,推荐Linux环境。因为其他相关的周边项目几乎都不支持Windows环境,所以Windows第一个被pass。再考虑到目前Fabric的运行方案几乎都是Docker,所以Linux成为首选平台。当然开发环境下用Mac OS也是可以的。

Fabric的授权策略

PKI+ACL。只要配置过SSL双向认证的用户对这玩意应该都不陌生,本质上是类似的,用户使用私钥表明自己的身份,公钥进行签证以授权访问。Fabric通过ACL对不同的组织,不同的用户进行授权。

Fabric的进阶学习方式

学习Fabric的路线图大致如下: Fabric --> Composer --> Other

首先大体熟悉一下Fabric的官方文档就可以了,目前稳定版本是1.0,开发版本是1.1,新手建议直接看1.1的文档,如果是为了上产品环境可以考虑看稳定版本1.0的。至于0.6版本的文档不用看了,那个版本只能用来做POC。

开发文档可以暂时跳过。Fabric的开发文档目前很不完善,你几乎看了还是不知道怎么去开发一个Fabric应用,至于部署文档几乎压根没有,这个只能等官方逐步完善文档。

之后可以看看Composer的文档,这个文档对开发比较友好,有一些范例,以及ACL运作方式等等,对于运维人员需要再熟悉一下Cello。

整个Hyperledger高度模块化,所以每个项目其实提供的功能都很有限,并不像以太坊那样一个项目工程包罗万象,需要根据实际商业需求引入对应的模块,比如做账本,可以考虑引入Indy,而不用自己从头开发。

最后,这个思维导图很不错,可以帮助理清区块链的思路: https://www.jianshu.com/p/a10052a5bbd4

作者:冯宇Ops
链接:https://www.jianshu.com/p/8294e7f441d1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/gzhlt/p/10168375.html

【转载】Hyperledger学习小结相关推荐

  1. pthread多线程编程的学习小结

    pthread多线程编程的学习小结 pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写 程序员必上的开发者服务平台 -- DevStore p ...

  2. ShaderLab学习小结(十九)RenderToCubemap创建能反射周围环境的效果

    继续用"ShaderLab学习小结(十八)cubemap"中所做的shader 想要让它能对周围的环境进行反射 思路就是要让它的cubemap里的内容是周围环境的映射 shader ...

  3. RabbitMQ(七):常用方法说明 与 学习小结

    RabbitMQ(一):Hello World程序 RabbitMQ(二):Work Queues.循环分发.消息确认.持久化.公平分发 RabbitMQ(三):Exchange交换器--fanout ...

  4. clone的fork与pthread_create创建线程有何不同pthread多线程编程的学习小结(转)

    进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合,这些资源在Linux中被抽 象成各种数据对象:进程控制块.虚存空间.文件系统,文件I/O.信号处理函数.所以创建一个进程的 过程就是这 ...

  5. ShaderLab学习小结(四)简单产生阴影

    运行环境: Win10 x64 Unity 5.5.4 在之前"ShaderLab学习小结(三)漫反射+高光+点光源"中的场景加入一个plane,如下图: 被平行光和点光源照射的球 ...

  6. 201671010130 2016-2017-2 《Java程序设计》第五周学习小结

    第五周学习小结 本周的课堂通过老师的讲解,我觉得自己在看书时的疑惑(比如子类如果不需要用到父类的某个方法怎么解决呢?),通过老师的讲解首先是绝对不能在子类中直接删除其方法的,但是可以通过覆盖的方法将其 ...

  7. 《TCP/IP详解卷1》学习小结(一)------链接层

    开始学习<TCP/IP详解卷1>这本著作,每一章都要写一篇学习小结.        一.  总述 链接层位于整个网络协议suite的最低一层,与硬件关系密切,比如以太网,token rin ...

  8. Markdown入门学习小结

    转自:http://www.jianshu.com/p/21d355525bdf 在遇到简书之前,我从来不知道Markdown是什么.简书所转载的阳志平所作「Markdown写作浅谈」一文中提到: M ...

  9. 【自学者】学习小结(关于深度学习、视觉和学习体会)

    以下仅仅是考研上岸到开学一个月期间的自学体会,仅作为参考,仅代表当时观点,不代表现在观点,有空的话我会出一期现在的一些小建议博客,仅作为小建议,本人不是很厉害,只是想分享当时的经验,大佬请自动绕过,最 ...

最新文章

  1. 二阶声波正演c语言程序_嵌入式开发中的三种程序构架
  2. Ubuntu下安装配置Open×××
  3. C#协变和逆变 - 译
  4. c语言中dfs用pos做参数,使用DFS解决8-Puzzle
  5. 深入理解javascript原型和闭包(2)——函数和对象的关系
  6. 深度学习之基于DCGAN实现动漫人物的生成
  7. grails框架_Play和Grails Java框架的优缺点
  8. Tensorflow快餐教程(9) - 卷积
  9. 关于笔记本使用的几点注意事项
  10. 关于DNF的多媒体包NPK文件的那些事儿(4)- NPK文件操作流程
  11. win pe备份linux,Windows10操作系统如何使用微PE实现备份与恢复
  12. 实时数仓在有赞的实践
  13. 转载:手机银行技术讨论2
  14. python实验总结与分析_Python实验报告七
  15. [转] 给土鳖装上鹰的翅膀和眼睛后会怎么样?
  16. 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述
  17. mapStateToProps,mapDispatchToProps的使用详解
  18. js中图片加载失败,显示默认图片
  19. 【塔望咨询】案例---新消费主力军的饮食主义
  20. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

热门文章

  1. java程序练习:猜字母
  2. 面向对象的基本设计原则【转】
  3. 搜索引擎名字引发的思考
  4. Android-TCPDump for Android(抓TCP数据包工具)
  5. 在C#中快速实现拖放操作
  6. 从Theano到Lasagne:基于Python的深度学习的框架和库
  7. 让FFMPEG支持实时流“伴随”转码
  8. 雇佣最优秀的开发者?培养可能是更好的选择
  9. AI需求强劲 AI芯片市场规模有望达到405亿
  10. CentOS 生成SSH-KEY