阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1

摘要: 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布,带来了一系列丰富的新功能以及在安全性、性能与扩展性等方面的显著提升。阿里云容器服务区块链解决方案第一时间同步升级,在v1.1新功能的基础上,提供了弹性裸金属服务器(神龙)、内置容器化Explorer、集成阿里云日志服务等方面的增强。

作为全球开源区块链领域影响最为广泛的项目之一,超级账本近日宣布了Hyperledger Fabric v1.1的正式发布。此次升级带来了一系列丰富的新功能以及在安全性、性能与扩展性等诸多方面的显著提升。更多详情可参考下述资料:

  • Hyperledger Fabric
    v1.1官方发布博客:https://www.hyperledger.org/blog/2018/03/20/hyperledger-fabric-v1-1-released
  • Hyperledger Fabric GitHub源代码项目:https://github.com/hyperledger/fabric
  • Hyperledger
    Fabric项目路线图:https://wiki.hyperledger.org/projects/fabric/roadmap

与此同时,作为对开源区块链生态的支持,阿里云容器服务区块链解决方案也进行了同步升级。这次升级不仅第一时间在Kubernetes集群上支持Hyperledger Fabric v1.1.0 GA版,并且在以下几个方面带来了新的功能增强和使用体验的优化:

  • 支持新的Node.js类型chaincode和相关示例,以及在国内云环境落地的适配
  • 支持chaincode级别的账本数据加密新功能和相关示例
  • 支持新的connection profile和自动生成功能
  • 以及其他Hyperledger Fabric v1.1新功能的支持
  • 支持阿里云弹性裸金属服务器(神龙)
  • 内置容器化的Hyperledger Blockchain Explorer
  • 集成阿里云日志服务
  • 优化区块链网络删除过程的数据目录清理

本文将对这些主要新功能进行技术方面的解读。在开始之前,我们准备了一段小视频,可以让大家快速了解在阿里云容器服务Kubernetes环境中使用该区块链解决方案的大致流程。

图片描述

新功能:Node.js类型Chaincode支持

在此次Hyperledger Fabric v1.1的升级中,在原有的Golang类型之上(Java类型尚未正式宣布支持),加入了对流行的Node.js编程语言类型的智能合约(即chaincode)的支持。这将进一步扩大和丰富Hyperledger Fabric的应用开发生态,吸引更多的开发者加入到区块链应用的创新中来。

在此基础上,通过对Fabric的源代码分析,我们在区块链解决方案中解决了在国内网络环境中可能遇到的Node.js类型chaincode实例化(instantiation)过程超时失败、chaincode镜像无法创建的局限性。

如需体验Node.js类型的chaincode,可采用CLI方式或者Client SDK方式,通过参数指定chaincode语言类型即可。解决方案中提供了基于官方cli-test.sh的示例脚本、以及基于官方的balance-transfer的client SDK示例程序。

CLI方式的Node.js类型chaincode示例
图片描述

图片描述

Node.js类型示例chaincode源代码位置:
图片描述

SDK方式的Node.js类型chaincode示例
图片描述

图片描述

图片描述

需要说明的是,由于Node.js应用自身编译构建的特点,Hyperledger Fabric中Node.js类型的chaincode实例化(instantiation)时间相比Golang类型的要更长,所以在这个环节需要稍作等待。

新功能:Chaincode级别对账本数据的加密和签名

Hyperledger Fabric v1.1新增支持在chaincode级别对交易的数据(即StateDB里Key-Value中的Value,通过调用chaincode时传入)进行加密/解密、签名/验证。这样能实现业务应用将商业敏感数据交给区块链之后,数据全程(包括落地到账本)在原有的安全机制之上进一步添加了标准的或用户可扩展的加密算法和签名算法的保护,进一步提高了数据的安全性。

关于此功能的的官方文档介绍可参考:
http://hyperledger-fabric.readthedocs.io/en/latest/chaincode4ade.html?highlight=chaincode%20encryption#chaincode-encryption

在容器服务的区块链解决方案中,我们提供了官方的EncCC示例程序用于在CLI环境中运行,方便用户了解此功能的使用和工作机制。在该示例中,首先对键”key1”的值“value1”进行加密并记录到账本上;然后读取键”key1”并解密其值,输出显示”value1”;接着,再对键“key2”的值”value2”进行加密以及数字签名并记录到账本上,最后读取键“key2”并解密、验证签名得到最终值,输出显示”value2”。

需要说明的是,使用该CLI示例程序之前,请先创建对应的channel(例如通过运行cli-tset.sh)。

示例程序源代码参考:
https://github.com/hyperledger/fabric/tree/release-1.1/examples/chaincode/go/enccc_example

图片描述

图片描述

图片描述

新功能:Connection Profile用于Client SDK应用程序

针对不同类型的区块链应用程序有着各不相同的对区块链网络拓扑和连接信息的描述方式的问题,为了提供更为统一规范的应用连接配置,Hyperledger Fabric v1.1开始支持Connection Profile, 目前主要面向Node.js类型的Client SDK应用程序,未来有望推广到更多类型的SDK应用上。

在此次区块链方案升级中,也同步支持此功能,并且能够根据用户输入的区块链网络拓扑配置(channel, peer, orderer, ca等)、公网访问地址和端口等信息,自动生成Connection Profile应用连接配置文件(即network-config.yaml)并提供给用户下载。而在我们的Client SDK示例balancer-transfer-app中也通过一个脚本实现一键下载所有证书密钥以及Connection Profile等配置文件。

解决方案自动生成的Connection Profile的位置和部分内容示例如下:

图片描述

如需进一步了解Connection Profile各字段的说明,可参考以下文档:
https://github.com/hyperledger/fabric-samples/blob/release-1.1/balance-transfer/artifacts/network-config.yaml

新功能:支持阿里云弹性裸金属服务器(神龙)

此次区块链解决方案升级正式支持在阿里云弹性裸金属服务器(神龙)运行Hyperledger Fabric。阿里云弹性裸金属服务器可提供与普通物理机无差别的高计算性能,同时还提供物理机级别的安全隔离。这些特性为提升基于区块链业务系统的安全风险防范能力、加强对数据和隐私的保护等方面带来了坚实的运行环境保证。在此基础上,弹性裸金属服务器的高计算性能和弹性水平伸缩能力,结合Hyperledger Fabric代价级的性能和扩展性方面的提升,有望进一步提升区块链应用和系统的业务处理能力。

从使用方式上,我们提供了基本无缝支持的体验,用户只需在创建容器服务Kubernetes集群中选择弹性裸金属服务器(现阶段需用户提前通过工单开通弹性裸金属服务器的按量付费类型选择的白名单)作为worker节点;然后按照标准的区块链解决方案的创建部署流程操作即可。

新功能:内置容器化的区块链浏览器

区块链解决方案支持基于标准SDK开发的区块链管控工具、浏览器等与区块链网络连接。在此次升级中,区块链解决方案进一步地将Hyperledger官方开源的Blockchain Explorer 进行了容器化改造,实现了Explorer本身以及其所依赖的MySQL数据库作为Kubernetes的service和deployment内置于解决方案中(默认启用,可设置禁用),随着区块链网络的创建实现自动配置、部署、启动和通过负载均衡(SLB)对外提供Web图形化的区块链网络业务交易监控服务。

图片描述

图片描述

图片描述

需要说明的是,区块链浏览器的使用前提是先创建出channel(如通过cli-test.sh)。

新功能:集成阿里云日志服务

区块链解决方案原生支持容器服务控制台的日志功能,以及Kubernetes的kubectl logs命令查看功能。利用前者可以在Web界面上便捷地查看区块链网络中Peer、Orderer、CA、Kafka、Zookeeper等节点的容器日志信息,一个示例如下:

图片描述

图片描述

在此基础上,最新版的容器服务解决方案进一步支持与阿里云日志服务进行集成,为企业客户提供如日志存储、实时索引/查询/分析、日志告警、可视化报表等更高级的日志功能。集成的关键参数可在创建部署区块链网络的页面进行直接设置,具体使用方法可参考该方案的产品文档。

图片描述

在阿里云日志服务控制台查询和分析日志的效果如下图所示。关于日志服务完整的查询分析语法以及更多高级功能说明, 可参考日志服务的产品文档。

图片描述

新功能:删除流程数据目录处理优化

考虑到部分区块链解决方案的用户在开发测试环境需要频繁创建和删除区块链网络,为了进一步提升效率,这次方案升级优化了对数据目录清理的优化。具体来说,当区块链网络被删除(例如使用helm delete命令)的同时,相应的数据目录名会被自动添加以下后缀:-deleted-当前时间戳。之所以不直接删除,主要是为了防范人为误操作的风险,以及满足部分用户希望复用原有数据的目的。

假设原数据目录为:

/data/fabric/network01

则区块链网络删除后,数据目录会被重命名为类似如下的名字:

/data/fabric/network01-deleted-2018-03-21-041756

这样便能进一步优化用户的区块链创建-删除-创建流程上的操作体验了(因为有用户需要频繁进行此类操作进行开发调试)。此外,如需彻底清理数据目录以释放存储空间,可手工运行rm命令或结合自动化脚本很方便地实现。

总结

容器服务区块链解决方案自2017年10月正式发布以来,获得了为数众多的开发者和来自零售、金融、制造、多媒体等行业的企业用户的认可和采用,基于解决方案提供的企业级区块链开发测试环境快速地进行基于区块链的业务创新应用的打造。随着此次Hyperledger Fabric v1.1和区块链解决方案的升级,将进一步帮助我们的用户打造功能更完备、性能更高、安全性更强、易用性更好的企业级区块链业务应用。

原文链接

干货好文,请关注扫描以下二维码:

图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福利 | 送你一张通往「2019 AI开发者大会」的门票

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。…

直接内存与元空间_深入浅出 JVM 内存管理

Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等。1) JVM内存划分:① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放…

如何快速成长为技术大牛?阿里资深技术专家的总结亮了

摘要: 写在前面 不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。 然而“梦想是美好的…

blob字段乱码怎么处理_下载的附件名总乱码?你该去读一下 RFC 文档了!

纸上得来终觉浅,绝知此事要躬行Web 开发过程中,相信大家都遇到过附件下载的场景,其中,各浏览器下载后的文件名中文乱码问题或许一度让你苦恼不已。网上搜索一下,大部分都是通过Request Headers中的UserAgent字段来判断…

AI ProCon倒计时6天:60+业内技术专家,探秘9大核心技术专题

2019 AI ProCon“598元学生票”限量抢购中!3日通票团购倒计时6天,扫码查看▲2018 年,由 CSDN 举办的第一届 AI 开发者大会喊出“只讲技术,拒绝空谈”,两天会议时间,国内外几十家顶尖科技企业讲述了其主流技…

工作流实战_28_flowable 任务多实例

原文连接:https://blog.csdn.net/liuwenjun05101/article/details/103680299 项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 任务多实例由2种形式: 第1种场景:当多实例中的每一个势力都办理完任务后&#xff0…

架构师如何应对复杂业务场景?领域建模的实战案例解析

摘要: 阿里妹导读:你还在用面向对象的语言写面向过程的代码吗?你是否正在被复杂的业务逻辑折磨?是否有时觉得应用开发没意思、没挑战、技术含量低?其实,应用开发一点都不简单,也不无聊&#xff…

【深圳云栖大会】阿里云弹性计算ESSD云盘产品全面解析

摘要: 2018年3月29日,在深圳云栖大会弹性计算技术专场上,来自阿里云弹性计算产品专家崆闻做了主题为《百万级别IOPS云盘产品全面解析》的技术分享,主要就阿里云新一代ESSD云盘的产品特点、适用业务场景和对业务的实际性能提升进行…

git分支合并指定代码_git的几种实用操作(合并代码与暂存复原代码)

总述git工具也用了很久,自己也写了几篇使用教程,今天继续给大家分享一些我工作中使用过的git操作。1.git合并远程仓库的代码2.git stash保存当前的修改这两种情况大家应该都使用比较多,现在大家使用git进行团队开发代码的情况比较普遍&#x…

flowable实战(十五)关于流程设计器 bpmn.js与vue的整合

一、前言: 由于flowable本身带的Moder风格实在与前端页面风格不一样,同时由于Modeler采用Angular.js写的,改造起来相对有一定的难度,所以打算换成bpmn.js当成流程设计器。二、与vue的整合 1.安装以下包进开发环境 npm install -…

大数据实践的6个阶段

戳蓝字“CSDN云计算”关注我们哦!来源公众号 | 智领云科技作者 | 智领云 彭锋博士在最新的“2018年Gartner数据管理技术成熟度曲线”报告中,DataOps的概念被首次提出,Gartner标记其目前在“极为初级”这个阶段里面,并预计需要5-10…

离线计算成本节省的神兵利器

摘要: 对于创业成长型的企业来说,离线计算已经必不可少了,通过离线计算我们可以生成复杂的业务报表,通过离线计算我们也能精确的算出用户画像。离线计算已经当今的企业中成为了不可或缺的存在。那么使用弹性计算能够对离线计算领域…

opencv论坛_Opencv批量添加logo的解决方案

知乎的水印是如何批量添加的?您想拥有这个本领吗?我在opencv论坛发现了这个趣图添加logo的方法,也许您正需要这个代码,那我就诚心分享下吧。如何删除结果图像中mainlogo.png周围的黑色边框?import cv2 import numpy as np import…

「深圳云栖大会」大数据时代以及人工智能推动下的阿里云异构计算

摘要: 最近几年,在大数据和人工智能的推动下,异构计算有了长足的发展。无论是在产品形态上,还是在应用领域上,阿里云异构计算都取得了累累硕果。 最近几年,在大数据和人工智能的推动下,异构计算…

mysql表设计要注意什么?

戳蓝字“CSDN云计算”关注我们哦!转自 | 孤独烟引言大家应该知道烟哥最近要(tiao 咳咳咳),嗯,不可描述!随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很…

html table样式_CSS表格样式

表格的样式一般可以在HTML中直接定义,但是结构和样式需要分开声明,这可以方便后期的维护和修改。CSS中的表格样式有caption-side(表格标题位置)、border-collapse(表格边框合并)、border-spacing(表格边框间距)。 caption-sidecaption-side属性取值只有2…

AI开发者福音!阿里云推出国内首个基于英伟达NGC的GPU优化容器

摘要: 3月28日,在2018云栖大会深圳峰会上,阿里云宣布与英伟达GPU 云 合作 (NGC),开发者可以在云市场下载NVIDIA GPU 云镜像和运行NGC 容器,来使用阿里云上的NVIDIA GPU计算平台。 阿里云推出国内…

TensorFlow Hub介绍:TensorFlow中可重用的机器学习模块库

摘要: 本文对TensorFlow Hub库的介绍,并举例说明其用法。 在软件开发中,最常见的失误就是容易忽视共享代码库,而库则能够使软件开发具有更高的效率。从某种意义上来说,它改变了编程的过程。我们常常使用库构建块或模块…

新建文本文档好玩的代码_(03)用什么工具写ASP源代码?

有很多工具可以书写ASP源代码,我使用Windows自带的记事本来编写ASP源代码。下面做一下简要介绍。一. ASP源代码文件的格式1. ASP源代码文件是以.asp为后缀命名的文本文件,如index.asp,conn.asp等,前面设置的IIS就是执行这些文件内…

漫话:如何给女朋友解释鸿蒙OS是怎样实现跨平台的?

戳蓝字“CSDN云计算”关注我们哦!周末在家休息,女朋友在刷朋友圈,突然她问我:鸿蒙OS回顾2019年8月9日华为开发者大会上,华为消费者业务CEO余承东正式宣布发布自有操作系统鸿蒙,内核为Linux内核、鸿蒙微内核…