家蛙树

Linux基金会超级记账本开发框架和工具

Zealot
区块链
2018-09-13

Linux基金会的Hyperledger超级记账本是一个开源合作的跨行业的区块链技术,包括金融,银行,物联网,工厂,科技等行业的领军者如IBM, Intel, Huawei, Baidu, Tencent, CISCO, Xiaomi等大小公司都是其组织会员。

官网有不少的区块链框架和工具,如果第一次接触不好选择,让我们快速的过一遍。

t_0cc64562ddc7486fb6530e94fbc1a54f.png

1.区块链开发框架

1.1 Hyperledger Burrow
状态 Github Star 开发语言 活跃度 文档
孵化中 520 Go 较高 一般

t_a2a3be7f18894245b7ba088a705c1fc8.png

Burrow是初创公司monax.io捐献,Intel赞助的之智能合同应用引擎。部署为Ethereum 以太坊的智能合同节点,可以执行Permissioned EVM虚拟机上的智能合同。智能合同使用Solidity编写,可提供交易的最终性, 使用PoS(Proof of Stake)的Tendermint共识引擎实现高的吞吐量。也提供了API网关, 暴露为REST和JSON-RPC服务,感觉小巧且便于与其它系统整合。
如果涉及到以太坊的定制开发,Burrow应该是个选择。

1.2 Hyperledger Fabric
状态 Github Star 开发语言 活跃度 文档
可用 6726 Go 较高 较好

t_8869e98062ff4b0eb1508f4f11551c2f.png

Fabric是一个分布式的记账本平台,旨在提供组件可插拔,可伸缩和易于扩展的设计架构。Fabric应该当今商用度,成熟度最高的区块链解决方案之一,国内很多公司都是基于Fabric定制自己的区块链业务平台,更多信息可关注笔者公众号。

1.3 Hyperledger Indy
状态 Github Star 开发语言 活跃度 文档
孵化中 252 Python 较高 一般

t_3c2315aecf88414c96fc99964cedf4b2.png
Indy是分布式记账本,应该是Sovrin基金会捐献,旨在提供去中心化的身份凭证服务,使用区块链技术加密和交换身份凭证,保障安全。
具体的场景请参考白皮书https://sovrin.org/wp-content/uploads/2018/03/Sovrin-Protocol-and-Token-White-Paper.pdf
更多可能作为一个组件和现实系统整合。

1.4 Hyperledger Iroha

状态 Github Star 开发语言 活跃度 文档
可用 923 C++ 一般 较好

t_77ca9daeb5ac47da95466c70df4a6157.png

Iroha是C++实现的区块链平台,实现Yet Anothe BFT共识算法,和排序服务。
权限设计基于角色或授权权限,区块使用文件存储,状态使用PostgreSQL数据库保存。
Iroha是 Soramitsu, Hitachi, NTT Data 和Colu公司捐献的。

估计推广一般,不过毕竟是可用,是C++实现的区块链的一个选择。

1.5 Hyperledger Sawtooth
状态 Github Star 开发语言 活跃度 文档
可用 1001 Rust 较高 较好

t_5a83a89956864c25998a6f5dc590e791.png
Sawtooth是一个企业级的分布式记账本,应该是Intel捐献的, 一些特色是:

(1)应用和核心系统的隔离,Sawtooth提供了智能合同的抽象,应用的开发者选择各自语言开发合同的逻辑。
(2)支持私有网络,集群种的节点可以单独配置采访权限。
(3)并行执行交易,Sawtooth有个调度器把交易分割为并行的流程,隔离开每个交易的执行。
(4)消息订阅
(5)Seth子项目兼容以太网智能合同
(6)可插拔的共识算法
当前主要支持Proof of Elapsed Time (PoET)时间消失证明,它依赖于安全可信任的软硬件环境(Intel的自身的CPU应该是没问题),应该就是使用安全的CPU指令保证leader的安全和随机,优于那些PoW等proof算法的能量损耗。
还支持Raft等共识算法。
(7)Sawtooth的数据模型和交易语言使用不同的Transaction Family实现, 即可实现扩展,例如子系统的Sabre Transaction Family是支持WebAssembly virtual machine上运行的智能合同, Supply Chain Transaction Family是支持用于跟踪商品。

Sawtooth是一个完整的企业级区块链平台,热度第二的框架,也是值得研究的。顺路说下Rust, 除了火狐浏览器没想到又添多案例,对rust有期待,不过笔者是给Rust的borrow checker打败了。

2.开发工具

2.1 Hyperledger Caliper

t_2f3e81da69ad4279b3d3478a8c4a788e.png
孵化中,用于测试区块链的性能,指标例如TPS, 传输延时,资源使用率等,华为捐献的。客观的说华为的BCS平台是可以的,做了很多自动化运维,部署的工具。

2.2 Hyperledger Cello

t_984315959fb14a5792dce20baf7c43cc.png
孵化中,定位于Fabric区块链网络的自动化运维平台,例如创建,编辑,删除主机,区块链网络,部署链码,查询调用链码等功能。 不过笔者需要吐槽下,可能Fabric版本迭代快,实际上Cello还类似个beta版跟不上,一堆的bug,没有完整的BAAS平台,脚本维护靠谱些。

不过Cello定位很重要,Fabric部署是有些麻烦,自动化运维平台对于Fabric推广和维护必不可少。

2.3 Hyperledger Composer

t_464d28e7f1544db883d6ddf56bbd41f5.png

孵化中,链码开发基础提到过的另外一种开发模式,IBM主导,推荐Mac和Ubuntu运行,类似solidity, 用javascript语法,定义资源,参与者,交易,把链码逻辑可暴露为REST服务, Fabric底层, 实际一些配置还是得绕回Fabric, 开发可能相对方便些,运维的话又要多了composer相关的配置,直接用Fabric可能简单些。

2.4 Hyperledger Explorer

t_f790459cceda4e7a899f706a0a4c4f48.png
孵化中,Web系统,用于浏览,调用,部署或查询区块链网络的数据,交易,网络,节点等信息。

2.5 Hyperledger Quilt

t_cabc1ba83f94455993f7ed3653e4e47b.png

Quilt提供Interledger 协议(ILP), 一种支付协议,在分布式对账本系统和非对账本系统进行转钱服务,日本NTT Data公司提供,去中心化的支付协议,可以去研究下。

虽然比特币出来十年,但是区块链正刚起步,有兴趣的同学可以继续关注我们的公众号。

t_1ae967c732714d6c9c16740838ce20bb.png

点赞 0
0条评论
其他心得
编写过一些链码的人可能会觉得是在操作一个简单的key-value数据库, 就是GetState和PutState去操作键值对,而对复杂些的一对多,多对多等实体关系和数据模型不知怎么设计。我们先从官方的例子入手一起探讨下。 1.简单转账例子 /fabric-samples/chaincode/chaincode_example02/go/chaincode_example02.go 假设链码调用peer chaincode invoke … -c ‘{“Args”:[“invoke”,”a
Zealot · 22天前 
区块链的真实数据依赖于物联网和智能设备,记一次折腾的android无线调试经历。 Android 4.2.2定制版智能硬件, USB口能插鼠标键盘, 但是不能USB调试。供应商两个方案, 要么开壳找到USB OTG排座, USB口自己接线, 但是开壳会导致硬件功能无法使用; 要么手工打包apk安装到硬件慢慢的toast。 摸索出第三条路。 搜索android无线调试, 基本都需要第一次USB调试线, adb tcpip 5555开启android设备端口监听, 之后adb connect ip
武汉珞樱联创Luoying-server和Fabric-REST开源 https://github.com/zealzeng/luoying-server https://github.com/zealzeng/fabric-rest Luoying Server Framework Luoying server是一个轻量级的服务器开发框架,方便开发者快速的定制多种协议的服务器,servlet style的API和简单的容器注入模式让开发者专注于业务实现。 Maven地址
Zealot · 34天前 
Fabric打鸡血了, 1.3正式版发布一个月1.4的RC版出来了,按照惯例在两个月内1.4正式版会发布,我们先预览下新特性。官方文档链接参考 https://hyperledger-fabric.readthedocs.io/en/release-1.4/whatsnew.html 自1.0版本开始, Fabric日渐成熟。1.4版本专注于提高运维和开发的易用性,主要包括两方面。 (1)可维护性和可操作性 1.4大大的改进了日志,服务健康检查和可操作的度量指标, 持续的修复bug和提供系
分享些干货,吸点人气,2018年区块链技术大会的部分PPT放出。建立开源的安全区块链生态系统(PPT下载) http://cbc.dbw.org.cn/documents/%E5%A4%A7%E4%BC%9A%E6%8A%A5%E5%91%8A/%E5%AE%B9%E6%B7%B3%E9%93%AD.pdf企业区块链(PPT下载) http://cbc.dbw.org.cn/documents/%E5%A4%A7%E4%BC%9A%E6%8A%A5%E5%91%8A/%E7%99%BD%E7%