区块链未来3到5年应该会出现行业井喷式发展,相应所需的人才必定水涨船高,每一个开发人员都不应该错过这样的机会。
区块链涉及的技术很多,很多开发人员看了一些资料后,感觉好像懂了,又好像没懂。
如何系统的学习区块链技术,是很多想从事区块链开发的程序员的问题,我们来一起讨论下,希望可以帮助更多的人掌握区块链开发技术。
确定方向
从事区块链开发也有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等等。
方向不同,需要学习的内容就不一样,如果做基于区块链应用开发,只需要了解一门编程语言(nodejs, Go, Python, C++ 等), 大概了解区块链的原理,不一定要深入,当能理解越深入开发应用就越顺。
如果做区块链基础开发,就需要了解加密算法,P2P通信,共识算法等等。
投入时间学习-动手实践
由于区块链涉及的技术很多,可以相对各个技术有一个概念了解,再逐步深入原理。
当你在学习了解概念的时候,必定会产生很多疑问, 例如我们经常可以看到一句: 比特币的共识机制是通过工作量证明(POW)来实现的。
就有了新疑问:什么是工作量证明,进一步了解,它是通过验证的一个特定结果,就能确认参与者完成了相应的工作量(不理解没关系,可以简单为,张三考试考了100分,就确认张三肯定好好学习了)。
这时又有了新的疑问,比特币在验证什么样的结果,这时你又需要了解密码学和Hash。
逐步深入的过程也是解答疑问的过程,需要我们善用Google搜索。
如果觉得已进理解一个概念或原理时,可以尝试动手实现它,如在理解挖矿后,可以写代码模拟挖矿过程。
学习是一个长期的过期,没有捷径,必须得多读书,读代码,写代码。
学习资源介绍
下面是一些学习资源的介绍,相信对大家有帮助
比特币:一种点对点的电子现金系统-英文比特币:一种点对点的电子现金系统-中文以太坊白皮书-英文以太坊白皮书-中文区块链技术指南-电子书
区块链开发指南-纸书
比特币 - 官网
以太坊 - github超级账本HyperledgerETHFANS - 社区深入浅出区块链