1、技术语言
Python和Go这两门语言是众多公司招聘都提到的技术语言。需要优先学习。而且这两种语言在区块链之外的技术方向也有很大的应用。比如Go用在大并发系统的后台构筑,Python用于人工智能系统构筑。所以学习这两门语言是优先考虑的问题。
2、技术框架
掌握Bitcoin、ETH和Hyperledger的一种或多种。
BTC就不用说了,底层是C++写的,大量的货币类项目,如莱特币,dash,门罗,zCash等都使用比特币的技术进行二次开发。
ETH则是区块链2.0的代表,可以在ETH网络上构建各种各样的应用类Dapp。现在大量的应用类区块链项目都是使用ETH平台开发的。
Hyperledger fabric则是IBM力推的区块链开发平台,主要用于联盟链的开发,是目前普及度最高的联盟链开发平台。
3、算法
POW(工作量证明算法),POS(权益证明算法),PBFT(拜占庭容错算法)等都是区块链中密码学部分的重要组成,对于这些算法有充分的了解,有利于你参加区块链项目底层开发时能够对密码学的部分有更好的理解。之前密码学并不是一门现学,大部分计算机从业人员也并不具备密码学的知识。
只要能掌握上述三条,你就可以成为很优秀的区块链开发人才。如果你掌握了第一条,你就具备了参与区块链开发的基本能力。
在最初自己自学区块链相关知识的时候,可以采用“自下而上”的方法,也就是通过看书、阅读白皮书等方式,自己查资料,再自行汇总和连接起这些知识,整合成一个较为完整的知识体系。
一、学习白皮书
上大学之前,我读过很多有关《论语》的书,都是关于应该如何读论语,应该如何理解论语的解读。 直到有一天我发现,如此钟爱《论语》的我,却从来没有耐下性子来,认真读一读《论语》的原本。
于是,我去书店买回了一本《论语》,从头到尾认认真真地看了一遍,发现其实里面有太多细节和感悟,是没有办法通过任何解读传递的。 而居然之前花了大量的时间,阅读了大量的解读,真的是舍本逐末,不得要领地在努力。
每个领域都一样。 当你不了解它的时候,你会对它产生一种莫名的畏惧,认为它高高在上,高不可攀。 为了快速踏进这些领域,你会在它周围寻找很多所谓的“解读”,打听很多“消息”。
二、技术角度
基础阶段:
1、《区块链开发指南》-作者申屠青春:
作者多余比特币底层的研究可谓是非常深入,讲解的也非常通俗易懂。
2、《区块链技术指南》-作者邹均:
作为国内第一本从技术角度讲解区块链的书籍,值得一读,2016年出版以来一致评价不错。
3、《区块链 原理、设计与应用》-作者杨保华陈昌:
陈昌前辈作为纸贵的CTO、记得之前的墨链就是基于Hyperledger Fabric的,所以这本书对于Hyperledger 相关开源产品的讲解很透彻。
扩展资料
区块链的定义
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。 区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
推荐书籍
1、《区块链:从数字货币到信用社会》
本书较为系统地对区块链的历史和现状、起源与发展以及问题和未来发展方向进行了总结,并从多个方面和行业对区块链的定义、创新,以及区块链的前景和存在的问题进行了理论阐释,探讨未来区块链如何引领互联网金融的发展方向,对我们如何看待区块链技术的崛起和其在人类发展中所起到的作用有重要的参考意义和理论价值。
2、《区块链革命》
这本书是“数字经济之父”继畅销书《维基经济学》之后又一力作,受到多国政治界、学术界和工商界翘楚人物的推崇。 本书全景式描绘互联网前沿技术─区块链技术,将如何彻底改变互联网及银行业、证券业、保险业、会计税收、法律服务业、文化创意业、物流业、医药卫生业、电力业、和制造业等行业;前瞻性阐述这种技术可以做什么,以及我们如何利用好它。
3、《区块链世界》
这本书分为上下两篇。 上篇通过翔实的资料,全面地回顾了区块链从2008年诞生、成长和逐步发展的历程,详尽地介绍了区块链技术的独创性、机制的科学性、逻辑的艺术性,通过金融、防伪、医疗等十余个行业场景介绍区块链的应用特性。 下篇结合二十国集团峰会精神、 “十三五”规划等蕞新政策,探索研究区块链与数字经济的结合,以及作者对行业发展趋势的观点和建议。
参考资料:网络百科-区块链
学习区块链开发技术需要掌握一些基础知识和技能。以下是一些建议:
1.学习区块链技术原理:了解区块链的基本概念、工作原理和关键技术,如分布式账本、共识算法、加密算法等。
2.学习编程语言:掌握至少一种主流的编程语言,如Python、Java或Go。 这些语言在区块链开发中应用广泛。
3.学习智能合约编程:智能合约是区块链应用的核心,学习使用Solidity或其他智能合约编程语言进行编程。
4.学习区块链框架:熟悉常用的区块链框架,如以太坊、Hyperledger等,了解其架构和使用方法。
5.实践项目:通过实际项目来巩固所学知识,可以从简单的区块链应用开始,逐渐深入复杂的项目。
6.参与社区:加入区块链开发者社区,与其他开发者交流经验和学习资源,获取最新的技术动态。
7.持续学习:区块链技术发展迅速,需要不断学习和更新知识,关注最新的技术趋势和发展。
总之,学习区块链开发技术需要系统性地学习理论知识,掌握编程语言和智能合约编程技能,并通过实践项目来提升自己的能力。 同时,积极参与社区和持续学习也是非常重要的。
Go语言
Go语言(Golang)是谷歌2009年推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。 谷歌首席软件工程师罗布派克(Rob Pike)说:“我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 ”
除比特币是由C开发以外,目前最主流坊的客户端均有go语言开发,足以可见Go语言在整个区块链行业的地位。
C 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。 C 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 C是一种使用十分广泛的计算机程序设计语言。 它是一种通用程序设计语言,支持多重编程模式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。
大多数的区块链企业都选择用C编写区块链的底层,最著名的有比特币、ripple等,主要体现的是强计算性。
Java不同于一般的编译语言或解释型语言。 它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。 而区块链项目的开发,对Java有着明显的依赖性。
其他的还有Python、系统架构、以太坊、Linux、hyperledger、JavaScript等都会有涉及。
Copyright @ 2024 啦啦收录网 此内容系本站根据来路自动抓取的结果,不代表本站赞成被显示网站的内容或立场。
你是本站第位访客 | 网站地图 | 粤ICP备2022150304号