如何开始区块链方面的编程?
学习区块链的第一大困惑是:“学这个我不懂编程怎么办?”,确实,作为一个程序员设计的融合了多种技术理念的东西,懂点编程总是好的。不过,对于大部分人来讲,了解其基本原理,知道如何应用,或许也就足够了。
那么,对于很多想参与区块链编程的人怎么办呢?更何况,还有非常多的一部分人,希望通过区块链技术找到一份高薪的工作,这可能吗?
只要肯做,当然可能!但是做,讲究方法和条理,下面分享一下我的一些经验。
一、编程入门
对于,很多没有编程基础的人,最好能迅速掌握编程的一些基本能力,至少能做到把代码看懂。一方面,程序员世界的思维跟很多人的世界是不一样的,而这不一样的世界基本体现在这天书般的代码里。
所以,如果真的想学习,就要狠下心来,赶紧在编程上入门。前期,为了给大家补基础,我邀请了区块链研习社的菜菜子给大家上了两节零基础入门编程的课,需要补课的赶紧去听听。
编程入门了,再继续后续的内容;具有编程经验的人,可以跳过这一步。
二、区块链原理
不能是从求职还是创业角度,都需要达到对区块链技术的深入理解。因为这个东西,至少在目前来讲,有很多内容还是有一定的理解难度的,更重要的是,把这些基本的原理有机地衔接在一起,形成了一套区块链运转体系,是非常非常难的。
所以,理解区块链的原理非常必要,否则,区块链工作的开展很难,迟早要补课。比如,非对称加密算法,脚本原理,P2P网络通信,工作量证明,以及区块的结构,交易的结构,UTXO结构,铸币交易的产生等等,这些都是非常重要和琐碎的内容。
如果没有这些基础,一方面要学习下之前的基础课程,一方面要继续深度参与区块链研习社组织的高级课程。
三、智能合约编写
很多人否定区块链的神奇,或者一味地相信它的神奇,这都是不对的。首先,区块链技术确实并没有太多技术上的创新,但我一直认为它就像乔布斯发明苹果手机一样,苹果手机也没多少颠覆性的创新,但是把各种技术和理念融合在一起,成就了伟大的发明。
区块链技术之所以被很多学者重视,原因在于比特币第一次实现了“可编程金融”,虽然只是使用了脚本技术。但是人们发现,这一切来自于底层的区块链技术,如果进一步扩展,就有了智能合约的广泛说法,从而将区块链应用的开发推向高潮,大有颠覆一切之势,以以太坊为代表。
因此通过智能合约,不仅“金融”可编程,一切以分布式环境为基础的都可编程,只要有场景支撑,就能做下去!
而实际上,从现实世界到区块链世界的思维转变是很难的,比如听起来高大上的资产转移,可能在智能合约代码里只是数字的加减而已。而动手实践去编写智能合约是进行这个思维转变的第一步,所以回去听听之前的课程,动动手,你会有很多的发现。
四、阅读比特币源码
好,貌似一切条件都具备了,其实还差那么一点。因为我们的学习都是基于公众号文章、千聊课程,总之都是在听别人说。而实际上,代码到底是如何实现的,如何将理论落实到阅读代码、动手编程,并反过来促进对理论的理解,还需要往前走下去。
区块链的源代码最经典的当然是中本聪的Bitcoin,另外后续也有很多开发者贡献了不少。总之,结合这个最经典的源代码的阅读和学习,将更好掌握区块链的编程原理和算法。
一个人读,或许很难坚持,那么我们就一群人阅读代码试试看?
以上是我的建议,区块链研习社即将组建比特币源码研读班,大家敬请期待。但是,很显然,这个研读班不是任何人都能参与,后期我会公布具体参与办法及条件。