家蛙树

Hyperledger Fabric 1.4新特性

Zealot
区块链
2018-12-13

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和提供系统健壮性。更多的bug fix会合并到1.4.x, 而新的特性会合到2.0版本。也就是说1.4会是1.x最后一个系列,应该会适合用于生产环境。

(2)改进应用的编程模型
Node.js SDK的编程模型得到改善,node.js的链码开发更直观,可更专注于业务逻辑。这里吐槽下,其它语言怎么办。。

可维护性的改进
新的运维服务接口, 暴露了三个restful服务用于监控和管理peer, orderer节点的操作。
/logspec 接入点允许运维人员动态的获取和设置各节点日志的级别。
/healthz 接入点允许运维人员或容器服务去检查节点的健康和存活。
/metrics 接入点允许运维人员使用开源监控工具”Prometheus ”从各节点拉取度量数据,同时也支持工具”StatsD”。笔者只用过Zabbix和Nagios, restful的估计也能集成吧。

编程模型的改进
笔者团队用Java和Go, 链码也慢慢切Java, Nodejs模型细节自行阅读。

The scenario:
Describes a hypothetical business network involving six organizations who want to build an application to transact together that will serve as a use case to describe the programming model.

Analysis:
Describes the structure of a commercial paper and how transactions affect it over time. Demonstrates that modeling using states and transactions provides a precise way to understand and model the decentralized business process.

Process and Data Design:
Shows how to design the commercial paper processes and their related data structures.

Smart Contract Processing:
Shows how a smart contract governing the decentralized business process of issuing, buying and redeeming commercial paper should be designed.
Application Conceptually describes a client application that would leverage the smart contract described in Smart Contract Processing.
Application design elements:
Describes the details around contract namespaces, transaction context, transaction handlers, connection profiles, connection options, wallets, and gateways.

新的入门例子
商业票据入门例子
https://hyperledger-fabric.readthedocs.io/en/release-1.4/tutorial/commercial_paper.html

私有数据加强
1.2引入的私有数据得到功能加强。
核对, 允许已加入私有数据的节点获取之前的有资格采访的历史交易数据。
客户采访控制,允许链码基于采访的客户端的组织或者MSP自动控制采访权限,而不用写具体的链码逻辑。

同理Fabric CA也升到1.4, 主要是维护bug fix版本。Fabric CA一些细节是有点小问题,虽然可以绕过, 希望有空后面写个Fabric CA的课程。

话说Fabric的这些迭代,它更定位在底层的实现,可提供可扩展的运维服务接口。而实际上Hyperledger Cello等Baas部署工具应该是远远落后,区块链落地很多最佳实践和模型还待大家努力去踩坑。商业区块链的旅途是星辰大海,another ditch in the road, keep moving.

t_d03b2e1b7f2b4d67a25ed5b49545e760.png

点赞 0
0条评论
其他心得
1. 问题场景 Fabric peer节点使用文件保存区块, 使用level db或couchdb数据库保存状态, 数据很多state db会膨胀, 我们探讨下一些解决方案。 2. couchdb集群 couchdb2.x支持集群, 分片, 应该能把数据分散到集群的其它节点。先简单过一下如何安装。 2.1 couchdb集群搭建 Fabric用到的couchdb镜像是自己打包的, 1.4对应的是hyperledger/fabric-couchdb:0.4.14, 不过很悲催, 笔者
Zealot · 21天前 
1.简介 Fabric 1.4引入operation service即运维服务接口, orderer,peer节点可提供http服务, 方便外部获取节点的运行指标,管理日志级别,健康检查。 2.如何使用运维服务 以fabirc-sample/first-network为例, ./byfn.sh up 2.1 Orderer节点运维服务 启动后连接到orderer容器 docker exec -it -e LINES=$(tput lines) -e COLUMNS=$(tput co
Zealot · 30天前 
1.使用场景 Fabric区块链网络一个channel即一个记账本, 在很多业务场景,一个记账本的数据自身组织可以读写,也可以提供给其它组织只读,部分读或部分写。数据隔离使用channel是粗粒度的,private data私有数据是fabric 1.2引入, 是为了在更细的粒度上控制数据访问。 2.如何使用私有数据? 以fabric-sample/chaincode/marble02_private弹珠游戏为例. (1)文件collections_config.json
Zealot · 31天前 
1.简介 Fabric CA基于开源项目CFSSL开发, 主要为fabric网络提供PKI证书服务,是MSP生成的基础。可能有人会问, 官方不是有cryptogen工具批量生成MSP吗? cryptogen实际是辅助测试工具,默认不同orderer,org都有不同的CA, 如果一个org要追加个peer或user, cryptogen就不管用了。生产环境我们建议使用fabric ca全面管理证书, 如果想简单来而区块链组织,节点和用户基本不会变, cryptogen也没问题。 2.
1.Kafka排序服务原理 官方文档在google doc上, 参考翻译 https://www.jianshu.com/p/db006359133d 2. kafka 排序服务安装 所有的代码已分享在https://github.com/zealzeng/kafka-orderer-demo 2.1 安装环境 官方文档有一些简单的描述 https://hyperledger-fabric.readthedocs.io/en/release-1.4/kafka.h