美文网首页
区块链技术开发入门都需要学习哪些书籍

区块链技术开发入门都需要学习哪些书籍

作者: 小小迷糊QM | 来源:发表于2018-12-27 17:29 被阅读0次

    从零到1学习区块链技术,首先要分析以下3个问题,搞清才能明确学习目的:

    1,区块链学什么?区块链代表性平台有哪些?

    2,区块链技术用哪种语言来实现?如何选择

    3,针对区块链技术方面的小白从零到1开始学习的路线及对应的书籍推荐?


    一、区块链学什么?区块链代表性平台有哪些?

    1:区块链中的核心技术主要有5

    1)P2P网络:点对点交易,没有中间方;

    2)分布式存储:所有节点信息统一,交易不可篡改,修改一个节点信息,需要其他节点共同修改

    3)加密算法:确保交易不可篡改、无法抵赖和破坏,且保护了用户隐私信息和交易记录的信息安全。交易可追溯

    4)共识算法(共识机制):实现自动网络共识

    5)智能合约:通过自动化脚本操作数据


    2:目前区块链代表性的平台有:

    ● 比特币 Bitcoin

    ● 以太坊 Ethereum

    ● 超级账本Hyperledger

    ● EOS


    二、区块链技术用哪种语言来实现?如何选择

    区块链本质上是分布式去中心化的不可篡改的数据库存储技术,是一门新的技术;它本身不是一门语言,需要语言这个工具去实现,所以想学习区块链必须选择一门具体的适合它的语言。

    结论:不愿看以下过程可以直接看第4小点下面的结论。

    1)、首先区块链是一种编程思想,使用任何一种编程语言都可以实现。比如:C++、Java、javascript、python、Go都可以实现开发区块链。

    2)、比特币系统使用C++开发。我们学习比特币系统目的是用来学习区块链原理,很难在比特币系统上进行继续开发。学习比特币原理时可以使用Java、javascript、python、Go任何一种语言。

    3)、以太坊系统,官方推出了C++开发版本和Go开发版本。要在以太坊平台上开发智能合约,官方建议使用Solididy语言,该语言类似Javascript。如果开发DApp,可以采用C++、Go、Python、Java开发。

    4)、超级账本中的Fabric系统是用Go语言开发的。学习Fabric开发,可以使用Go和Java语言。

    综上所述,学习区块链开发建议建立在Go语言和javascript基础上。而Go语言的学习难度比Java略低。

    为什么选择或者说go的优势在哪里?这里简单说几点:

    1)、出身名门、血统纯正

    Go语言由Unix之父肯.汤普森牵头开发,而肯.汤普森在电脑工业史上具有极高的地位;系出名门的Go语言吸取各家之所长,规避了各种让大牛们所诟病的缺点。语法简洁好学。语言稳定性高

    2)、Go语言在2007年9月才正式命名为Go,2012年3月才发布第一个正式版本。是一门非常新的语言;所以,竞争压力小,先人一步则高人一筹

    3)Go语言短短五年时间,已经成为2016年年度编程语言。在2018年5月的TIOBE语言排行榜上挤入前15名,上升至第14位;

    Go语言是目前项目转型首选的语言,也是软件工程师转型首选的语言

    Go语言被预测会成为未来编程语言的前三甲(Java、C++、Go)

    4)、Go语言是为了解决分布式计算,是云计算领域的新兴语言。

    而区块链是典型的分布式数据存储系统,使用Go语言是绝配;

    5)、Go语言的编译和运行速度在众多编程语言中遥遥领先。Go语言中提供的丰富的标准库,让学习成本低于Java;

    6)、Go最大的优势就是高并发。而这一点是目前主流的编程语言都望尘莫及的。

    区块链一定要解决网络高并发问题,所以正是看好这一点,选择了Go.


    三、针对区块链技术方面的小白从零到1开始学习的路线及对应的书籍推荐?


    先贴一张区块链技术的学习路线图,不喜勿喷!

    1)go语言编程篇书籍参考:

    Go语言编程》

    该书由人民邮电出版社出版,内容是从最基础的语法进行讲解,对于初学者而言,可以通过此书学习到Go 语言的语法特性,语法规则,掌握基本的Go语言编程能力。该书最大的特点就是在前几章的基础语法以后,按照模块进行知识的讲解,比如网络编程,异常处理,并发编程都独自作为章节进行阐述。对于初学者而言,可以选择好好看一看。

    Go Web编程》:该书是由外国人所著,国内为翻译版。本书的内容是专门为Go语言的Web开发而写。通过该书,能够使之前没有开发过Web项目的朋友积累web开发的技能,掌握Go语言Web开发的一些必要技能,这是对初学者而言。对于已经有其他语言开发经验的朋友而言,则可以快速掌握Beego、Gin、Iris等框架的使用和操作,封装自己的工具库等来实现Go Web开发技能的掌握和提升。此阶段为应用和掌握阶段。

    Go并发编程实践》:经历了上面的基础和应用阶段,可以通过本书来进行能力提升,作为进阶的书来看。这本书是开发者走向架构师之路的级别的书。

    2)区块链学习部分

    《比特币白皮书》:要学习区块链知识,必绕不开比特币。比特币是区块链技术到目前为止最典型最伟大的应用。对于每一位想要学习区块链知识,并进行开发之路的人来说。至少要读一读比特币白皮书,看一看天神之作的出处。

    《精通比特币》:精通比特币是一本英文书,是第一本在比特币白皮书之后的一本书籍,该书系统介绍了比特币的原理,比特币的运行机制,比特币客户端,私钥生成的一系列的问题,是一本入门的好书。国内有区块链爱好者自发进行的汉译PDF版本,有兴趣的可以下载打印读一读,很有价值。如果从锻炼英文阅读能力的角度,最好还是读原版吧。

    《白话区块链》:从名字就可以看出该书作者在书中近可能简单、白话式的对比特币及区块链专业术语和知识等做解释说明。注意,此书为白话区块链,有个公众号也叫白话区块链,两者并不是同一个,这个需要注意区分开来。

    《区块链开发指南》:同白话一样,对于比特币,以太坊,联盟链等涉及到的技术做了简单的涉及和介绍。内容比较简单,属于基本概念入门级别。

    《货币的非国家化》:该书是由哈耶克所著,从经济学角度提出在货币领域也引入竞争机制,让货币通过竞争来最终角逐出最好的货币。该书并没有中文正文出版,只能在淘宝买到影印版,对于理解去中心化,理解自由经济等内容有一定帮助。

    入门的书籍就是上面的内容吧。实际的理论学习,代码实现,还是要通过具体的讨论和分析。要想进一步的学习和提升,就需要详细的对每一个项目进行更深入的研究,比如研究比特币的源码,以太坊的源码等。具体到代码层面的分析,算法的实现,都是需要深入进行研究的。

    最后,书籍太过枯燥了,免费的分享给大家区块链视频学习资料:区块链免费教学视频,在腾讯课堂上哈,进入报名后直接可以学习下面的视频,而且每周都有免费的区块链教学直播课!!!

    相关文章

      网友评论

          本文标题:区块链技术开发入门都需要学习哪些书籍

          本文链接:https://www.haomeiwen.com/subject/rqkdlqtx.html