区块链java开源框架分析, HyperLedger Fabric 学习思路分享

当前位置:首页 > NFT > 区块链java开源框架分析, HyperLedger Fabric 学习思路分享

区块链java开源框架分析, HyperLedger Fabric 学习思路分享

2022-05-07NFT44

HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的、由Linux基金会主办的一个超级账本项目,它是一个目前非常流行并广为人知的区块链网络框架的实现方案。作为一种基于模块化架构开发应用程序或解决方案的基础,HyperLedger Fabric支持如共识和会员服务等即插即用的组件,它的设计初衷是支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性和高精度性。HyperLedger Fabric利用容器技术运行称为“Chaincode”的智能合约,该合约包含了系统的应用程序逻辑。

HyperLedger Fabric是一个区块链解决方案,更倾向于联盟链或私有链方向。区块链由于去中心化、开放性、自治性、信息不可篡改及匿名性等特征而受到广泛关注,且目前正处在上升势态。抛开炒作的代币项目,应用于行业联盟链或直接搭建私链的项目,采用HyperLedger Fabric作为底层平台无疑是最好的选择之一。

项目无须刻意围绕区块链开展,不能因为当前区块链火爆就强迫业务进行转型,否则对企业发展和项目升级可能不会起到积极作用。

对于联盟链,其应该被打造成一个独立于企业内部核心业务的外围应用。换一种说法,一家企业加盟某一个区块链平台的目的是提升自身的业务健壮度和抗风险能力,而不能因为加盟了某一个区块链平台就有针对性地修改自身原有业务。

企业对区块链联盟平台的姿态应该是最大程度自由的,即上链有一定好处,但依然可以根据自身的实际情况选择随时下链而不影响原有业务。

必备知识点

这里的学习内容是指HyperLedger Fabric学习过程中会遇到的一些应用,通常包括以下几部分。

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从Apache2.0协议开源。 Docker 可以让开发者将应用和依赖包打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 App),更重要的是容器性能开销极低。

在学习HyperLedger Fabric的过程中,开发人员需要掌握Docker的基本操作命令,以便可以更快上手,这其中包括打包、拆包、tag、容器管理、镜像管理等。同时,也需要学习Docker Compose和YAML的编排方案,了解如何挂载文件路径、设置端口绑定、确定Network以及掌握环境变量的用法等。

Go

Go是一种并发的、带垃圾回收的、快速编译的语言。它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序,结合了解释型语言的游刃有余、动态类型语言的开发效率以及静态类型的安全性。

HyperLedger Fabric是一个基于Go开发的开源项目,学习Go不仅仅是为了更深入地阅读源码需求,也因为智能合约编写方案需要Go来实现。对于Go的学习,至少能够在参考API文档的情况下编写出一套符合需求的智能合约。然而,对于有一定面向对象基础的开发人员来说,这并不难。

gRPC

gRPC 是一个高性能、通用的开源RPC框架,由 Google公司 主要面向移动应用开发并基于HTTP/2 协议标准而设计的,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。

在学习HyperLedger Fabric的过程中,对gRPC的感知并不深,但SDK的相关项目都需要用到它。建议还是需要了解一下诸如此类的传输协议,与之类似的还有Thrift、Dubbo等。

CA

CA是PKI系统中通信双方信任的实体,被称为可信第三方(Trusted Third Party, TTP)。作为可信第三方的行为具有非否认性。

在HyperLedger Fabric体系中,CA被广泛运用于每一个具体的对象,如orderer、peer以及最小单位的user等。后端开发的工程师应该比较了解,在HyperLedger Fabric中CA被用于各种对象的登记、登出、注册、撤销等操作。

P2P

Peer-to蓑衣网小编-Peer,对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构。

关于P2P的学习并非必须,但也算是入门区块链底层的必修课,对期望今后有机会进行底层开发的工程师来说,目前多少需要了解一些。

Kafka

Kafka是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。具有高水平扩展和高吞吐量。

在Fabric网络中,数据是由Peer节点提交到Orderer排序服务,而Orderer相对于Kafka来说相当于上游模块,且Orderer还兼具提供对数据进行排序及生成符合配置规范及要求的区块。当使用上游模块的数据计算、统计、分析时,可以使用Kafka这样的分布式消息系统来协助业务流程。

Kafka是一种共识模式,也就是平等信任(同步复制),所有的HyperLedger Fabric网络加盟方都是可信方,因为消息总是均匀地分布在各处。但具体生产使用的时候会依赖于背书来做到确权,相对而言,Kafka应该是一种启动Fabric网络的模式或类型。

Zookeeper

Zookeeper是一种在分布式系统中被广泛用于分布式状态管理、分布式协调管理、分布式配置管理和分布式锁服务的集群。

Kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件,Kafka系统会捕获这些事件,进行新一轮的负载均衡,客户端也会捕获这些事件进行新一轮的处理。

SDK(Java/Node.js)

HyperLedger Fabric最终需要落地于实际应用,相对于HyperLedger Fabric的应用层则会直接提供接口给其他各客户端并对区块链网络进行操作。目前,基于HyperLedger Fabric的SDK方案有很多,但相对较成熟的主要还是Java和Node.js的。所以,这两门语言应当是学习HyperLedger Fabric平台工程师的主力语言,建议熟练使用两者其中之一。

如果这两门语言都不是目前学习Hyperledger Fabric工程师的主力语言,可以考虑用其他被gRPC所支持的编程语言自行实现,或者使用Fabric-SDK-Container提供的解决方案。

学习路线

Hyperledger Fabric的入门其实不能说难,只是很麻烦,很多知识点并不需要开发人员熟练掌握,但必须有所了解。当只想基于Hyperledger Fabric平台上线落地一个区块链项目,却不清楚哪些知识点是必须深入学习的时候,就需要一个简单明确的引导来帮助完成这件事。

本人从接触HyperLedger Fabric项目以来,经历了其0.6版本到1.1版本的数次迭代。因为早期中文资料稀缺,并且0.6版本到1.0版本是一个跨度非常大的迭代,导致早期的大部分部署和应用经验失去作用,不得已再次从1.0版本开始从头学习。当时中文资料极为有限,且大多数都是单篇翻译或纯粹的概念讲解,导致我一直没有找到入门的头绪,只能不断地从官方文档中汲取知识。

现在网上已经有了大量的HyperLedger Fabric教学博客和视频资料,也有很多书籍辅助开发人员学习,国内的HyperLedger Fabric项目实操氛围也不错,大部分关于区块链的招聘都要求应聘人员对HyperLedger Fabric的架构和具体应用有一定的经验。

本人根据自己的实践经验,并撰写了Hyperledger Fabric 1.0 从零开始系列博文。后来在宋亚东老师的建议下,再次从头梳理了所有内容,并结合自己实际学习和开发的过程整理了一条学习线路,如下图所示。开发人员可以按照图中序号顺序进行学习。

当然,每个人都有各自的学习方案和思路,上图中的路线并非适合所有人,有一定基础的读者可以跳过其中的部分节点选择性阅读。所以,它适合正在寻求HyperLedger Fabric入门的新人,也适合这方面的中、高级开发人员选择性学习。

区块链java开源框架分析, HyperLedger Fabric 学习思路分享 | 分享给朋友:

相关文章

数字货币和区块链是什么关系,两者之间相互依存却有着本质的区别

数字货币和区块链是什么关系,两者之间相互依存却有着本质的区别

以目前网络舆论来看,我们更多的把区块链和数字货币看成了“连体人”,谈区块链时都会联系到数字货币,而看数字货币时等同于在说区块链。比如做数字货币的,就是在做区块链 ,做区块链的,都要发行数字货币,或者交...

区块链数字货币交易平台合法吗,各种区块链币其实质就是传销与赌博

区块链数字货币交易平台合法吗,各种区块链币其实质就是传销与赌博

区块链币又叫虚拟币,以比特币为龙头,主要原因为比特币最早推出,因此影响力最大。比特币看似设定了总数量为2100万枚,但其可以无限向下细分金额,因此可以说是总数量是无穷无尽的,所谓2100万枚的总数量其...

区块链十数字币分析,投资指南及场景落地

区块链十数字币分析,投资指南及场景落地

近日,在中国人民银行石家庄中心支行和雄安新区管委会改革发展局的指导与支持下,雄安新区首笔 “链上”数字人民币工资代发成功实现,至此,全国首个“区块链 + 数字人民币”应用场景顺利落地。这对徐明星带领的...

nft买卖平台有哪些,nft买卖10大平台如何选择

nft买卖平台有哪些,nft买卖10大平台如何选择

谁也没有意料到,NFT(非同质化代币)的从小众圈层走向大众化的速度如此快。过去的几个月时间里, NBA巨星凯文·杜兰特、格莱美奖得主The Weeknd、日本著名艺术家村上隆、美国传奇影业、图形软件巨...

区块链到底是啥通俗点什么意思,如何简单易懂地介绍区块链

区块链到底是啥通俗点什么意思,如何简单易懂地介绍区块链

2019年10月25日,北京时间晚7点的新闻联播,用了最宝贵的前五分钟,只讲了一件事情:国家要大力发展区块链技术。朋友问我,不是前段时间还打击数字货币吗,怎么这就要大力发展了?这意味着什么。我说,这意...

京东NFT多少钱(京东nft交易平台)

京东NFT多少钱(京东nft交易平台)

京东金条借一千元利息一个月多少钱 京东金条抄的利息一般是每天万四左右,一千一天的利息是4毛,一个月袭下来也就是十二块左右,每个人的利息有可能2113都不一样,新用户首次借钱5261可能是万二点五左右...

nft发行量多少,发行价及信息分析

nft发行量多少,发行价及信息分析

NFT资产今年非常受欢迎,迄今为止,100 个收藏品的 NFT 销售额已超过 200 亿美元。虽然许多单个 NFT 以数百万美元的价格售出,但许多 NFT 项目和收藏的成交量达到了数亿甚至数十亿。根据...

区块链一级市场有哪些,区块链一级市场怎么参与

区块链一级市场有哪些,区块链一级市场怎么参与

作为货币圈爆发的一年,很多刚进入货币圈的人都会有很多疑惑。币圈的一级市场和二级市场是什么,两者有什么区别?今天,我就一一告诉大家。1.货币圈的一级市场是什么牛市的到来,通常带来的是很多主流币和山寨币被...

区块链怎么解释,如何正确认识区块链

区块链怎么解释,如何正确认识区块链

主题:你对区块链到底有什么误解之正确认识区块链王立:我们先来定义一下区块链,它的定义是很模糊的。国家说的区块链和我认识的区块链和您认识的区块链可能都不是一个区块链。一、如何定义区块链王立:我认为的区块...

杰伦熊NFT咋样(杰伦熊nft怎么买)

杰伦熊NFT咋样(杰伦熊nft怎么买)

04年无与伦比演唱会的周杰伦帅? 是啊,帅到千里之外,还有林俊杰是啊,帅到千里之外,还有林俊杰很帅、特别是发型很叼、还是白色的!我也想去染帅呆了,酷毙了那时真的很帅,太拽了丹阳,先登,陷阵,虎豹,白...

ibc区块链是合法的吗,IBC链的演算法市场解析

ibc区块链是合法的吗,IBC链的演算法市场解析

以往的数据存储,比如一张照片,是对应这张照片的一系列计算机数据给定义的,当我们保存这张照片的时候,就是对这些计算机数据的整体存储。当我们转存(复制粘贴)这张照片的时候,我们处理的也是这些计算机整体数据...

区块链的最新消息详解,数字经济发展规划 区块链成为七大重点产业之一

区块链的最新消息详解,数字经济发展规划 区块链成为七大重点产业之一

日前,国务院印发了《“十四五”数字经济发展规划》(以下简称《规划》),明确了“十四五”时期推动数字经济健康发展的指导思想、基本原则、发展目标、重点任务和保障措施。区块链技术作为数字经济时代的重要底层支...

区块链怎么赚钱,区块链行业的10种赚钱方式

区块链怎么赚钱,区块链行业的10种赚钱方式

摘要: 我梳理了一些目前存在的区块链行业盈利方式,初设行业的人可以视之为敲门砖,涉猎较深的人可视我此举为抛砖引玉。“躁”是这个时代的特性“急于求成”成为了大部分人的真实写照“急功近利”这样的贬义词却更...

支付宝蚂蚁链NFT生肖(支付宝蚂蚁链NFT能买卖吗)

支付宝蚂蚁链NFT生肖(支付宝蚂蚁链NFT能买卖吗)

蚂蚁指什么生肖? 蚂蚁指勤劳,应该是指生肖牛,希望能帮到你这就是一句谚语,也是常识,不是什么生肖 蚂蚁十二生肖中属什么生肖 当然是马啦!蚂与(马)谐音一样嘛!为什么是猪啊,不可以是狗啊...

元宇宙基础分析,NFT技术是不可缺少的一环

元宇宙基础分析,NFT技术是不可缺少的一环

财联社1月5日讯,新的一年,火热的元宇宙行情已经开始向细分新领域过渡。首当其冲的就是目前正在落地的实际应用。招商证券认为,元宇宙正在快速向我们驶来,也许真正实现还需要很多年,但就好比几年前马斯克说新能...