区块链开发技术 区块链技术开发路线
时间: 2020年12月1日                     分类: 区块链技术 标签:

〇。背景说明:

一段时间以来一直在研究和研究区块链领域。一般来说,早期阶段主要是关于比特币体系结构及其源代码,但是我仍然不熟悉该领域的技术发展。为了在区块链领域进行系统的研究和技术培训,我特此总结以下技术发展路线,以逐步丰富我自己的区块链发展知识体系。

这篇博客主要是为未来的技术发展路线制定清晰的计划。

经典互联网人士如何进入区块链?我认为还有两个更现实的姿势。

区块链开发技术

一个是信念。说实话,在当前阶段不推测要成为区块链,尤其是公有链的人确实需要信念。公共链必须在技术上切实可行,并且需要建立。这是一个漫长的过程,您可以忍受自己的脾气,并且在创业时会经历九次死亡。如果不是信仰,那是什么?这些人值得尊敬,因为他们促进了真正的技术进步。

另一个很实际。深圳不久前发布了第一张基于区块链的发票。如果您想进行与联盟链相关的项目,实际上有很多机会并且技术相对成熟。养家很实用。这里的区块链与其他技术没有什么不同。

作为一个更加务实的技术开发人员,专注于Hyperledger Fabric(财团链)的开发以谋生是相对稳定的选择。但是,我认为这对于学习区块链的创始者比特币是必不可少的。比特币相当于一个公共链。与以太坊相比,比特币属于更早的区块链。我们学习比特币主要是因为我们对区块链的经典技术原理有更全面的了解和积累。

之所以我不选择以太坊,主要是因为我认为以太坊是一个相对复杂的公共链系统,其技术仍然不稳定并且仍在改进中。 Solidity编写智能合约,底层存在许多漏洞,因此学习该技术仍然存在一些风险。但是,有兴趣的开发人员可以学习以太坊技术的原理和相关体系结构,也将受益匪浅。

下面,我为公共链比特币和联盟链Hyperledger Fabric提出自己的技术学习途径。

一、公共链比特币学习:

学习目标:主要研究和研究比特币相关技术,充分掌握其原理和实现方法

1.对比特币白皮书的深入研究。全面了解其技术和原理,并对其中提到的技术进行深入研究。

2.建立测试网络以测试比特币系统。

3.比特币源代码学习。比特币源代码有多个版本。最初,我阅读了C版本的一部分,但后来Hyperledger Fabric使用GO语言编写了链代码(智能合约)。因此,准备以后学习GO版本的源代码。深入研究并完全掌握其技术架构和技术实施!

要完成上述目标,我认为研究经典的区块链系统就足够了。

二、财团的超级混合账本结构学习:

学习目标:掌握其技术架构和对核心模块的理解;掌握智能合约的编写;学习和掌握官方学习实例;掌握应用程序的技术开发;它所使用的工具语言最能做到掌握!

1.学习工具的语言:

1)go语言,Fabric,docker等大多是基于go语言开发的。比特币现在也具有源语言的go语言版本。因此,掌握该语言可以帮助我们阅读这些技术的源代码,也可以帮助我们开发智能合约。 GO语言简单,快速,安全,并行,有趣,开源,支持通用编程,内存管理,阵列安全性和快速编译。语言基础,易于掌握。

我花了一天的时间快速学习该语言的基本语言,并且基本上了解了该语言。之后,绝对需要深入学习。我们可以从Github上的一些技术文档中学习。力求精通这种语言。

2)Java,Node.js,Python等。这些语言在开发应用程序时主要调用链码(chaincode / smart contract),它们都具有与之匹配的SDK。因此,您可以自己选择语言。由于许多应用程序都是基于Web的,因此更多使用了Node.js。当然,如果只进行测试和学习,则不完全适用于商业项目。已经掌握的Python和Java也是不错的选择。

2.超级账本体系结构和核心模块学习:

1)仔细阅读白皮书。了解其技术原理;关键术语也应该深入理解。

2)了解Fabric的核心模块。

3)核心源代码学习。这是改进我们的技术并能够深刻理解其技术实施的关键。

3.技术开发和学习:

1)链码学习。学习编写智能合约。阅读更多源代码并进行更多实践。

2)应用程序开发。它主要使用其他语言工具来调用智能合约进行技术开发。 Fabric模块的Grpc接口可以用任何语言调用。但是,如果一切都是从底层实现的,那么这样的开发效率将非常低。目前,Hyperledger项目团队已基于Nodejs,Java,Go和Python四种语言提供了SDK。这些SDK封装了Fabric的常用操作,大大简化了开发工作。

4.相关项目源代码学习:

我已经学习了上面的开发过程,我们最好在Github上找到一些开源项目来学习和改进。

三、公共链-以太坊学习:

学习目标:我认为本部分研究主要针对希望参与联盟链开发的技术人员,以了解其技术架构并对其核心模块有一个总体了解,从而为我们提供帮助了解整个领域。了解区块链技术。我认为这就足够了。

[时间很紧,如果有任何错误,请纠正我! ||欢迎大家一起学习交流,请在留言区留言! )

[[该作品根据知识共享署名-非商业使用-相同方法4. 0国际许可协议获得许可。 )