从小白到专家,如何成为一名区块链开发者?(附学习资源)

从小白到专家,如何成为一名区块链开发者?(附学习资源)

如今,一个出色的区块链开发者就像一种稀缺的商品,如同只有 2100 万枚的比特币那样弥足珍贵。在区块链这个早期行业,如果你已精通几门区块链编程语言,并对密码学、经济学等学科也十分熟悉,那么恭喜你,你取得这样的成就确实来之不易,你距离成为一名真正的区块链开发者不远了。但事实上,这样的人并不多。本文将告诉你,如何通过自学成为一名真正的区块链开发者。

  学习语言、读懂代码

无论是公链、联盟链,还是私有链,无论是比特币、以太坊、EOS,还是超级账本(Hyperledger),每一个加密社区都有属于自己的拥护者和数字生态。然而,作为一名区块链开发者,你不需要考虑各个加密社区有何不同、投资哪种数字货币,你唯一要做的事,就是敲一手好代码。如果你能够创建一个没有 bug、让黑客无从下手的智能合约,那么,你永远都不会失业。

中本聪(Satoshi Nakamoto)用 C++ 语言编写了比特币区块链,直到今天,它仍然是最流行和最通用的区块链编程语言之一,同样 EOS 的开发语言也是 C++,一个项目选择用 C++ 编写区块链底层,主要追求的是强计算性;加文·伍德(Gavin Wood)为以太坊创建了 Solidity 语言,使得众多开发者可以基于此创建一个丰富多彩的去中心化世界;Java、Python、JavaScript、Rust 和 Go 也都已在加密世界得以应用。

据早前 Hard Fork 网站调研的一项数据显示,在 StackOverflow 上开发者提出的常见区块链相关问题中,以太坊主要官方语言 Solidity 占据榜首,JavaScript 与 Java 分列第二和第三位,Python 和 Go 语言则紧随其后。

作为以太坊区块链最主要的官方语言,Solidity 语言的重要性已不用多说,如果你已加入拥有最多区块链开发者的以太坊社区,就必须掌握 Solidiity 这门语言了。但一定注意,从历年来黑客攻击事件可以看出,这门语言的坑比较多,更需要考验编程的功底。

Java 语言不同于一般编程语言,它依赖各种不同平台上的虚拟机来解释、执行已预先编译好的字节码,从而可以实现“一次编写,到处运行”的跨平台特性。因此,一些区块链项目的开发往往对 Java 有着明显的依赖性。

Python 是一种通用型编程语言,被誉为“胶水语言”,相比于 C++ 或 Java,Python 让开发者能够用更少的代码表达想法。在区块链项目中,bitcoin 库是 Python 的特色,从入门角度的考虑,Python 比 C、C++ 等语言具有更强的代入感,当前以太坊的 Python 实现也成为主流之一。

Go 语言是谷歌 2009 年推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性,超级账本可以使用 Go 或 Java 或 Node.js 来开发智能合约,不过支持最好的还是 Go 语言。

JavaScript 是一种可以被浏览器解析的解释型脚本语言,它不需要编译过程就可以直接执行,侧链项目 Lisk 就是一种基于 JavaScript 的高度可扩展公共区块链。Node.js 是运行在服务端的 JavaScript,其平台强大的网络编程能力对区块链的影响也十分巨大。

(来源:Pixabay)

尽管 Rust 语言未能上榜,但 Facebook 发行的 Libra、跨链项目波卡(Polkadot)、隐私币项目 Grin 等知名区块链项目都是基于 Rust 语言开发,这些都是近一年来非常火爆的区块链项目,所以 Rust 语言也不容小觑,需要了解。

值得一提的是,作为以太坊较新的官方语言之一,Vyper 语言在逻辑上类似于 Solidity,在语法上类似于 Python,所以上手也十分容易。

确实,供你选择学习的语言方向有很多。

如果你想成为一名区块链开发者,却连一个智能合约都不知道怎么写,一个很好的起点就是参加一场黑客马拉松。在那里你可以和来自世界各地的区块链爱好者同场竞技、碰撞思想,当然,你肯定会得到现场专家的亲自指导,talk is cheap,show me your code!除此之外,参加开发者技术社区、线下沙龙、开发者大会等,也很不错。

诸如此类的活动提供了一个理想的机会,可以结识志同道合的朋友,并获取有关如何进入该行业的经验指导。你永远不会知道你在某一场技术交流会上遇到的哪一个人有一天会成为这个行业内某独角兽公司的创始人,也许你就是那一个人。

黑客马拉松、开发者大会以及线下沙龙绝对是新兴开发者与资深大牛进行思想碰撞和提高技能的绝佳场所,在这里,只有鼓励和共同探讨,而没有嘲笑。

  学校,不是唯一的学习场所

你当初学的什么专业?如果可以回到过去,你会选择换一个什么专业?会不会像比尔·盖茨(Bill Gates)、史蒂夫·乔布斯(Steve Jobs)和以太坊创始人 V 神(Vitalik Buterin)那样,花点时间干一些其他更有成效的事。

如今,虽然有一些领域,比如社会科学,学术学习是提升职业发展的最佳途径,但在大发1分快三领域却并非如此。

在这个信息化时代,如果你想成为一名区块链开发者,除了学术学习之外(理论学习很关键),你还可以在 Stack Overflow、GitHub、YouTube 或是“V 神”(Vitalik Buterin)、安德烈亚斯·安东诺普洛斯(Andreas M. Antonopoulos)和宋净超(Jimmy Song)等行业大 V 的个人博客上,学到更多、更新的知识与技能。

如果你确实能写一手好编码,没有人会关心你获得技能的地方。

(来源:Pixabay)

尤其是在区块链行业,当前国内外开设区块链课程的高校并不多,而且以理论学习居多。比如普林斯顿大学开设的一门关于比特币和加密货币的在线课程,尽管吸引了数十万人参与进来学习,尽管是免费的,也足足长达 18 个小时,但要想成为一名出色的区块链开发者,你需要更多途径和更长时间的学习与实战。

尽管目前高校学习也许不是最快的学习方式,但系统、完善和正规的高校课程还是必不可少,如今二次学习也越来越普遍,重修一个计算机学位也不失为一种好的选择。当然,前提是你确实对区块链感兴趣,相信这个东西,相信它可以解决现有技术无法解决的问题,而且相信区块链不是万能的。

  自学能力,很重要

自学能力很重要,尤其是对于想成为区块链开发者的你来说。区块链生态成长得太庞大、也发展得太快了,只掌握一门语言或熟悉某一条链,并不能维持你的竞争力。如果你有足够的自制力去抵制互联网五花八门、各式各样的诱惑,然后做到及时专注于区块链行业的发展趋势,你就会发现互联网是个十分适合自学者学习且资源充足的地方,你能找到所有适合开发者学习的工具和教程。

如果想深入了解比特币,比特币开发者 Jameson Lopp 的个人网站就是个很不错的选择,在这里你更深入了解什么是比特币、什么是闪电网络,你可以用他们做什么。

图|比特币资源网站(来源:Jameson Lopp 个人博客)

如果你想了解以太坊,不妨每天花几个小时去以太坊社区看一看,那里有全球最庞大的区块链开发者群体。

如果你想知道超级账本能做什么,建议你去深入了解国内华为、百度、小米等大发1分快三公司用它做了什么,你可以在他们的开发者社区内畅所欲言、肆意进行思想碰撞。

也许在未来,我们都将被机器人和人工智能所取代。但现在,区块链行业确实需要一群出色的技术开发者,靠他们去共建一个去中心化世界,从而解决现实世界一直未能解决的问题。

如果那就是你,停止做梦并开始学习。

  这些资源,送你了

为此,CoinDesk 中文(ID:coindesk_chinese)特意为你梳理了有关比特币、以太坊和超级账本的学习资源,如下:

1、比特币

比特币白皮书:https://bitcoin.org/bitcoin.pdf比特币官网(中文版):https://bitcoin.org/zh_CN/比特币源代码:https://github.com/bitcoin/bitcoin

Reddit:https://www.reddit.com/r/Bitcoin/Jameson Lopp 博客:https://www.lopp.net/

书籍:《Mastering Bitcoin》斯坦福的在线课程:https://crypto.stanford.edu/cs251/syllabus.html

普林斯顿在线课程:https://www.coursera.org/learn/cryptocurrency

2、以太坊

以太坊白皮书、黄皮书:https://github.com/ethereum/wiki

Solidity 官方文档:https://solidity.readthedocs.io/en/latest/

Truffle 官方文档:https://truffle.readthedocs.io/en/latest/

Reddit:https://www.reddit.com/r/ethereum/书籍:《Mastering Ethereum》DApp 开发学习平台:https://cryptozombies.io/

3、超级账本

Fabric 官方文档:https://www.hyperledger.org/projects/fabric

超级账本开发全系列教程:http://t.cn/Rec2eIX

IBM 学习资料:https://www.ibm.com/blockchain/platform

超级账本开发框架、开发工具合集:https://www.hyperledger.org/projects

想成为一名真正的区块链开发者,不仅需要有扎实的编程技术,还要有灵活的区块链思维和足够丰富的实战经验,这才是未来企业真正需要的人才,也是你需要努力的方向。

以上,是《CoinDesk 中文网》为你精心准备的区块链学习资源,后续还有更多分享。关注 CoinDesk 中文(ID:coindesk_chinese),与我们一起共同成长!‍

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.vnetpros.com/style/images/nopic.gif
我要收藏
赞一个
踩一下
分享到

分享
评论
首页