Hyperledger Fabric v2.0 Alpha引入两大新功能,新的Fabric链码生命周期和FabToken.
本文采用virtualbox+vagrant方式搭建Hyperledger Fabric环境,采用VSCode远程开发模式开发调试链码和客户端程序。
大概 2 年前,碰巧学习区块链(Hyperledger Fabric),便写了一个入门级的项目放在 GitHub 上,公众号有不少读者是通过这个项目关注到我的,也经常问我,有没有区块链这方面的学习资料,有没有这个项目的详细讲解,如何搭建一个区块链网络,林林总总。
目前无法绕过技术领域的是区块链话题。但除了加密货币之外,还有更多有趣的应用程序可以带来许多激动人心的软件生态系统。这也适用于Hyperledger项目,该项目提供了一个非常模块化的区块链框架。让我们看看使用Hyperledger Fabric和Composer实现区块链应用程序是多么容易。
Linux基金会的Hyperledger项目专注于开源的区块链技术,将其工作分为五个子项目。 Hyperledger执行董事Brian Behlendorf表示,Hyperledger的技术指导委员会必须批准每个新的子项目,并且正在寻找“代表不同的想法”的项目。
本文主要通过一个例子分享以 Hyperledger Fabric 为代表的联盟链应用场景。
Fabric 2.0 alpha里FabToken作为重大新特新引入,它提供了让用户在通道使用令牌环呈现资源的能力。FabToken是一个令牌环管理系统,它使用Unspent Transaction Output(UTXO)模型结合Fabric自身msp架构等发起,转换和赎回采访令牌环, 具体可参考以前文章 Hyperledger Fabric 2.0 Alpha新特性.
作者 | LimeChain 译者 | 天道酬勤 责编 | Carol 出品 | 区块链大本营(blockchain_camp) 封图 | CSDN 付费下载于视觉中国 * 文末有福利哟~ 在过去的一年里,我们看到许多企业对企业级区块链平台或分布式账本技术(DLT)非常感兴趣。 由于隐私、监管和可扩展性方面的考虑,企业倾向于使用私人许可的账本,而不是使用当前可用的公有主网。 因此,我们看到这两个项目非常具有吸引力——企业级以太坊(Enterprise Ethereum)和Hyperledger Fabri
Hyperledger Fabric first-network 示例(也被称为“Build Your First Network”示例和“e2e_cli”示例)展示了一个基础区块链用例教程样例的完全脚本化且端到端自动化的示例。该示例配备一个 Hyperledger Fabric 区块链网络,将一个智能合约 (chaincode-Example02) 应用程序部署到这个运行的网络,然后针对部署的链代码运行交易。
个人感受,文档看的再多,学习的速度也不如参与到项目中去,深入了解实现原理和设计的初衷。文档只能让我们对Fabric的整体运行机制有一个宏观的认识,要进一步深入,就需要从源代码入手,而贡献代码则是一个自然而然的事情,学习的过程中总会发现一些问题和值得优化的地方。所以前阵子顺手翻译了一下Fabric如何贡献相关的官方文档。这篇文章讲解,其中的整体流程和所需用到的工具。如需详细学习,请参考官方文档:
作为目前Hash chain 的CTO,接到很多开源社区的朋友请教,大家对于区块链抱有很大程度上的热诚。但是由于区块链开发技术门槛较高,广谱技术开发普及度不高。所以准备出个教程,本来昨天已经在腾讯云实验室测试部署完成,但是由于没被审核通过,审核同学可能规矩比较严吧,再加上平时工作太忙了,没办法细致整合,我就把在实验室的原内容照搬在底下,只能让大家跟着文章,看一看,一起了解。
Hyperledger Fabric是面向企业应用场景的开源分布式账本平台。Hyperledger Fabric基于模块化设计,各个模块实现特定的功能。企业之间可以组建Fabric联盟链,将相关业务数据通过智能合约方式写入链上,通过背书策略来保证各个企业数据的一致性。由于业务数据的共享,从而加速各项业务的开展,最直接的场景比如清结算等。
这是Hyperledger Fabric Java Chaincode的教程。还有Go和NodeJS Chaincodes,我们将来可能会讨论它们。此外,我采用基于帐户的钱包模型作为示例,我们将使用Hyperledger Fabric构建你的第一个网络(BYFN,build your first network),作为我们的测试环境(v1.4网络)。
本文描述fabric快速部署的步骤,及演示基于官方example02的智能合约进行CLI命令行体验。区块链涉及服务很多,且大量使用docker容器技术,所以请严格遵守以下步骤去部署,以减少各种问题的出现,方便我们先对联盟链有个大概的感觉。本文描述环境是centos7操作系统,请其他版本更正相关的安装工具(如ubuntu操作系统请把yum命令换成apt-get)。
1.环境部署 包括需要的软件环境以及docker镜像,具体参考http://zhayujie.com/fabric/deploy.html
我们前面关于Fabric的所有文章中用到的例子都没有CA Server,都是由cryptogen这个工具根据crypto-config.yaml而生成的。但是在实际生产环境中,我们肯定不能这么做,我们应该为每个Org建立一个CA,由CA来管理其中的用户。下面我们就试着讲Fabric CA集成到整个Fabric网络中,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户的合法性。我们仍然以官方的e2e_cli为例,关于这个例子的环境搭建,可以参考我的上一篇博客:http://www.cnblogs.com/studyzy/p/7437157.html
随着近期Fabric v1.4.1 LTS的发布,Fabric项目目前工作的重点正在向1.4.1和2.0的正式版推进。v2.0.0是2019年的主要目标,重点集中在更多的新特性上,包括增强的链码生命周期管理,raft共识机制,以此来循序渐进地迁移至拜占庭容错算法,以及更强大的token支持。近期发布的2.0版本建议大家仅作为尝鲜之用,生产环境暂时不要考虑。
【更新:1.0Beta已经是过去式了,现在出了1.0.0的正式版,请大家参照 http://www.cnblogs.com/studyzy/p/7437157.html 安装Fabric 1.0.0】
接下来一段时间要学习区块链相关内容,一系列文章,一方面作为笔记,另一方面方便交流学习。
导言: 最近在国内某金融公司做区块链开发,主要负责智能合约开发,使用的是HyperLedger Fabric 1.0,自己也开始学习区块链技术,上周已经学会自己搭建区块链网络,同时自己也写了一个关于数字货币发行和管理的智能合约,特将这段时间的学习分享给大家,希望可以帮到大家。 有可以一起交流可以私信我。
为了满足现代业务需求,IBM与其他公司合作,共同开发了一个开放源代码,可立即投入生产的业务区块链框架,称为Hyperledger Fabric™,这是由LinuxFoundation®托管的8个Hyperledger®项目之一。
因为毕业 Case Study 的项目主要是基于Ethereum公链,也没有面向企业的应用场景,所以之前对Hyperledger Fabric的了解大多只是停留在它的权限管理机制、通道、灵活的智能合约编写等几个特色的概念,对它的架构、各个节点的角色、运行机制等都是一知半解。最近在上 HKU 的<FITE3011 Distributed Ledger and Blockchain>课程,教授对Hyperledger Fabric的工作原理、网络搭建及链码相关的知识做了很详细的讲解,受益匪浅,通过本文来梳理一下,如有错漏,欢迎交流指正。
最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验。如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来了,所以打算对区块链2.0,也就是智能合约入手。
随着探索如何把区块链应用在各种场景,许多人就想到,也许不需要全世界的人共同参与,也不需要挖矿,我们只需要用到区块链的可信任、可追溯特性,通过较少节点达到拜占庭将军容错,于是私有链就诞生了。但私有链仍是中心化的,难以维持去中心化的优势。因此又有了为企业联盟而生的联盟链(consortium blockchain)。
访问区块链会议并关注区块链新闻时,不可避免地,您会遇到Linux基金会的Hyperledger。理解像比特币、以太坊这样的加密货币还算相对容易的,Hyperledger却不然。但如果你多研究研究,你会发现一些令人兴奋的非货币、工业区块链的应用项目。
本文我们会介绍Hyperledger Fabric的基础知识,并了解如何充分利用这个多功能的区块链框架。
资产既包括有型的资产、也包含无形的资产,Hyperledger使用chainCode去修改用户的资产。
Hyperledger Fabric是一个是开源的,企业级的,带权限的分布式账本解决方案的平台。Hyperledger Fabric由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。
Hyperledger Fabric 是一个开源的区块链框架,可以用来创建私有区块链(许可区块链)业务网络,在网络中每个成员的身份和角色都被其他成员所知。
组织(Org)和通道(Channel)的名称是fabric网络比较重要的两个配置参数,在fabric提供的示例中都已经设置好了这两个参数,一般组织名为"Org1"和"Org2",通道名为"mychannel"。而在实际应用开发中通常需要自定义组织和通道的名称,这里以最接近实际应用的balance-transfer为例说明如何自定义设置组织和通道名称。
假定 K8s 平台已经成功部署,并且在各个 worker 节点已经预先下载相应的 Fabric v1.0.0 的 Docker 镜像,如表3-1。(预先下载镜像是由于国内网速较慢,在一台机器预先下载后,可用Docker命令导出并导入其他机器。)
Hyperledger(超级账本项目)在2015年12月正式发布,4年,从认识到部署到实操,相信也有非常多开发者跟着一路走过来。
分布式系统(Distributed System)是由多台计算机或计算节点组成的计算机系统,这些计算节点通过网络连接在一起,并协同工作以完成共同的任务或提供服务。与单一计算机系统不同,分布式系统中的计算节点可以分布在不同的地理位置。
先给英文官方原文地址:https://hyperledger-fabric.readthedocs.io/en/latest/overview.html
使用IBM Blockchain Platform extension开发你的第一个fabric智能合约
本文所述的内容是在2019年1月8号开始的,于2019年1月10号结束。在Win10家庭版上装的Ubantu 18.04版本的虚拟机,文档主要参考的是Fabric Release-1.4版本。另外,我喜欢Go,所以接下来关于链码的演示,没有nodejs、python和java什么事,想看这些,可以移步未来我写的文章。Orz...
前一篇博客讲到了如何编译本地的Fabric Code成镜像文件,那么如果我们想改Fabric源代码,实现一些Fabric官方并没有提供的功能,该怎么办呢?这时我们除了改源码,增加需要的功能外,还需要能够跑通Fabric的测试。Fabric的测试主要包括单元测试和行为测试,下面分别介绍。
微众银行在最近(2020年5月12日)发布了WeCross v1.0.0-rc2,WeCross是微众区块链跨链协作平台,新版本对Stub(跨链路由)进行了插件化封装,开发者只需根据插件规范进行开发,即可让WeCross接入不同类型的链,此外,还基于HTLC(哈希时间锁定)事务机制,实现了跨链转账,让资产能够在不同链之间流转。本文就将带你尝鲜使用WeCross实现基于哈希时间锁定的跨链转账,文章最后再介绍下HTLC(哈希时间锁定)的原理。我们开始吧。
最近公司在做BaaS,底层上主要的工作就是做Fabric的国密改造,虽然不是我的任务,不过对这个事情还是很感兴趣的,很久很久之前,我也动过将Fabric改成成国密算法的念头,最后改的时候发现太复杂了,涉及的地方太多了,于是放弃了。现在公司有Fabric高手在搞这方面的工作,那么我也就参与进来,用自己的思路再试一试通过简单的方法来实现Fabric国密的改造吧。经过测试,基本完成了Fabric的国密改造工作,于是写下这篇博客总结一下吧。
本项目为基于Hyperledger Fabric区块链的供应链资产跟踪解决方案,项目主要包括链码和Web应用两部分。Fabric链码采用GOLANG开发,负责维护资产的状态,后台为采用Node.js开发的Web应用,负责为用户提供访问区块链上资产的操作界面,例如资产的创建、所有权转移等操作。
参考https://hyperledger-fabric.readthedocs.io/en/release-1.2/build_network.html
博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家!
参考https://hyperledger-fabric.readthedocs.io/en/release-1.2/fabric_model.html#
区块链是一个透明的,基于不可变模式的去中心化系统,核心就是一个分布式账本,记录网络上发生的所有交易。
这段代码是一个基于Hyperledger Fabric框架的资产转移合约。让我逐行解释它的功能和结构。
不同的区块链智能合约和区块链技术现在风靡一时。越来越多的人出于某种原因试图进入这个神奇的世界。如果你是这项技术的新手并正在寻找基于区块链的开发平台的快速入门,那么本指南非常适合你。我们将重点关注和比较的平台是:
Hyperledger Fabric 1.0是一种通用的区块链技术,其设计目的是利用一些成熟的技术实现分布式账本技术(Distributed Ledger Techonlogy DLT)。
领取专属 10元无门槛券
手把手带您无忧上云