区块链术涉及面很广,很多开发人员看了一些资料后,感觉似懂非懂。
如何系统的学习区块链技术,是很多想从事区块链开发的程序员的疑问,本文内容有点多,一次吸收不完可以收藏以后再用。
苦口婆心写在前面:
从事区块链开发有很多方向,如:区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等等。
方向不同,需要学习的内容就不一样,如果基于区块链应用开发,只需要了解一门编程语言(nodejs, Go, Python, C++ 等), 大概了解区块链的原理,不一定要深入,当然理解越深入开发就越顺。
如果做区块链基础开发,就需要了解加密算法,P2P 通信,共识算法等等。
由于区块链涉及的技术很多,可以先对各个技术有一个概念了解,再逐步深入原理。
当你在学习了解概念的时候,必定会产生很多疑问, 例如我们经常可以看到一句: 比特币的共识机制是通过工作量证明(POW)来实现的。
就有了新疑问:什么是工作量证明,进一步了解,它是通过验证的一个特定结果,就能确认参与者完成了相应的工作量(不理解没关系,可以简单为,张三考试考了 100 分,就确认张三肯定好好学习了)。
这时又有了新的疑问,比特币在验证什么样的结果,这时你又需要了解密码学和 Hash。
逐步深入的过程也是解答疑问的过程,需要我们善用 Google 搜索。
如果觉得已经理解一个概念或原理时,可以尝试动手实现它,如在理解挖矿后,可以写代码模拟挖矿过程。
学习是一个长期的过期,没有捷径,必须得多读书,读代码,写代码。
块链技术是随比特币诞生,因此要搞明白区块链技术,应该先了解下比特币。
但区块链技术不单应用于比特币,还有非常多的现实应用场景,想做区块链应用开发,可进一步阅读以太坊系列。
比特币
如果你是还不了解比特币,那就看看比特币是什么
基础入门
接下来可以通过下面这几篇文章了解比特币大概的运行原理:
-
通过这篇可以了解到区块链是一个怎样的结构
-
通过这篇可以了解到地址私钥 非对称加密应用 等概念
-
通过这篇了解工作量证明
-
通过这篇可以了解共识机制。
补充阅读
进阶
在基础入门之后,可以进一步阅读以下几篇,理解分布式网络,交易验证。
看完上面这些,区块链应该理解差不多了,就可以尝试实现一个简单的区块链了。参考这篇用Python从零开始创建区块链。
以太坊
一个技术要落地还得靠应用, 以太坊就这样一个建立在区块链技术之上,去中心化的应用平台。可以阅读几下几篇,这部分以开发为主,需要大家多发时间实践。
智能合约及应用开发
Solidity语言教程
全面学习Solidity语言可以购买图书:精通以太坊智能合约
区块链扩容
钱包开发系列
如可开发一款以太安卓钱包
柚子EOS
跨链研究
IPFS
FileCoin
其他
推荐
点击系统学习区块链技术,进入国内极少数的高质量区块链技术博客,不仅有大量免费干货,也输出一些优质的付费内容,更有同时链接数千区块链开发者的各种专项微信群,如有需要欢迎骚扰微信号upchainedu
如果你耐心的读到了此处,深深感谢你对我的时间的尊重!