+-+-+ +-+ +-+-+-+-+
|G|O| |4| |H|I|V|E|
+-+-+ +-+ +-+-+-+-+

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

29天编程挑战,收获知识和友谊

BY: @speeding | CREATED: Feb. 5, 2018, 7:35 a.m. | VOTES: 17 | PAYOUT: $1.52 | [ VOTE ]

[IMAGE: http://upload-images.jianshu.io/upload_images/3167762-9e3597305dfa72c4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240]

2018年1月6日,我报名参加了硅谷Live举办的《以太坊智能合约全栈开发入门》课程,通过29天紧张密集的学习和实践,2018年2月4日,我拿到了毕业证书。

[IMAGE: http://upload-images.jianshu.io/upload_images/3167762-8afb386efef6fde2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240]

一、我为什么要学习这门课程?

去年年底我就关注了老董的公众号【老董区块链干货铺】,他制作的区块链原理的系列视频给我留下了很深的印象,所以当他发布第一期的区块链学习课程的时候,我马上就缴费报名了,可惜当时只有50人名额,我未能入选。

第二期扩大到100人,我有幸入选参与了整个学习过程,而我为什么如此卖力地去学习这门课程?我主要有以下几个思考:

1)一个比较实际的问题,周围几个朋友在用imtoken钱包收币,并要给许多人发Token,人数较多时就会变成一件非常费力且容易出错的事,所以想写一个智能合约来自动完成这件事。

2)以太坊号称开创了区块链2.0时代,当前世面上出现的1478种币(来源于coinmarketcap.com),有587种都是以太坊上的代币,想评判这些币的价值,需要深入了解以太坊的背后原理。

3)智能合约在写作社群激励等很多地方有广阔的应用前景,程序员学会它肯定是站在区块链的顶端,既有趣又赚钱。用老董的话来说,学完这门课相当于超过了世界上95%的程序员。

二、苦逼的学习过程

我在报名之前看过一期学员的一篇文章,知道学习强度非常大,而我又没有写过Javascript程序,所以提前预习了一点github、Solidity和Truffle的相关内容,好让自己能够在正式学习过程中不掉队。

1月7日上午10点,学习班正式开班,而我正在杭州参加公信宝新版本发布会,会后与一帮区块链爱好者交流甚酣,一直没空看课程视频,直到第二天晚上才有空做作业。

[IMAGE: http://upload-images.jianshu.io/upload_images/3167762-efa78f1c3624eb40.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240]

本次课程的作业发放和批改过程全部在github上进行,而我以前没怎么用过github,第0课的视频看了好几遍才搞明白了复杂的提交过程,后来还是助教整理的一张流程图更清晰。

[IMAGE: http://upload-images.jianshu.io/upload_images/3167762-68b37ca0ed2de0d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240]

第一课中关于ETH地址的引号问题就挺折磨人,幸亏有助教帮忙,第一课的作业才能及时完成。现在回忆起来,当时犯错的问题确实比较初级,多些耐心和讨论,前几课的内容还是相对容易的。

第四课的开发环境用到了VirtualBox中的Ubuntu虚拟机,还好以前有Linux的命令行基础,这一课勉强通过,但各种开发工具的版本问题仍是巨大的坑。无奈,我尝试着用Windows跑通了整个Truffle环境

真正的难点在第五、第六课,这里需要用到Javascript和React框架,再加上node.js、truffle和Testrpc(现在叫Ganache CLI)之类的环境,才能跑通整个程序。我按照视频中的说明敲入了代码,可是运行中总是出现莫名的错误,由于前端开发技能几乎为零,所以遇到错误后束手无策,不知道到哪里去找错。

在第五课的做作业过程中,曾经一度想过放弃,为了体验后面的白帽黑客大赛,借鉴了队友的代码,终于挺了过来。通过认真比对代码,发现自己当时写错了好几处代码。

三、刺激的白帽黑客大赛

第七课可以说是整个课程的点睛之作,老董在以太坊网络上发布了一份带有漏洞的智能合约,10个小组各显神通,运用平生所学去偷走合约中的ETH。这个过程中我有幸担任了B组的组长,这时候才发现队友们个个深藏不露,Python、Javascript、Solidity、Myetherwallet和Metamask全都运用娴熟,最后还完成了一个Hacking核武器,可惜时间不够用了。

非常遗憾,我们组最终并没有获得比赛冠军,但在这次比赛中,我们不仅巩固了以前学过的内容,更是收获了团队合作的经验和宝贵的友谊。这里我要感谢几位并肩作战的战友,他们是高翔、熊雄、Hong Zhong、陈浩林,有两位战友处于地球的另一端,经常熬夜破解老董的合约,一位战友为了方便队友操作,把以太坊养猫的钱包私钥都贡献了出来。
[IMAGE: https://steemitimages.com/DQmPFruhGxLwrDHLWQgkWm4wvtLL7BSjc8c75PUjhNVbSHh/image.png]

关于这次比赛的过程,我整理了10多页的详细记录,为了不影响后面学员的学习乐趣,这里就强忍住不能剧透了。如果你入选本次课程,一定要投身于这场比赛,一次比赛的收获远多于前六课的总和。

四、课程的运营

1)教师团队

老董和Frank两位老师,带着4位班长和14位助教组成了一个豪华团队,将课程办得井井有条,大家各司其职,目标只有一个:让学员们学有所成。

2)每日打卡

每天一个热点话题,大家都可以发表个人的见解,优秀的回答还被收录在github的【每日优质内容复盘】中。

3)运营班长

几个班长完成了开班、打卡、写稿、催作业、主持、排练、结业、做证书等等繁重的事务,并且每个细节都死抠不放。我在最后的结业仪式上只安排了一个充满学术气息的抽奖任务,还提前排练了1个小时。

4)精彩分享

课程中间的每个周六,几位助教给我们带来了4份知识加餐,海螺老师的《以太坊白皮书解读》、刘芳璐的《XMR白皮书》、何智华的《IOTA技术介绍》以及蔡志诚的《破解养猫合约与智能合约伪随机数》,可以说每篇都值回999元的票价。

5)催作业

几位班长、组长通过各种手段催交作业,无所不用其极,每天打开微信最怕这种信息,我离开校园已经20多年,如今还被90后班长整天催作业,还是老老实实地去看课程视频敲代码吧。

五、参加这个课程需要哪些基础?

零基础是无法完成这门课程的学习的,大概需要以下基础:

六、几个花絮

写此文时BTC价格:51150元

本文由币乎(bihu.com)内容支持计划奖励

以前写过的几篇智能合约开发相关的笔记:

TAGS: [ #cn-007 ] [ #cn-programming ] [ #ethereum ] [ #smart-contract ]

Replies

@enjoyy | Feb. 5, 2018, 8:02 a.m. | Votes: 0 | [ VOTE ]

向您学习,学习的路上永无止境。

@yellowbird | Feb. 5, 2018, 8:42 a.m. | Votes: 0 | [ VOTE ]

@speeding参与币圈的方式真是另辟蹊径,大家都在抄币,你却把握行业发展拼命在这方面的积累知识。真的很赞!!!

@speeding | Feb. 6, 2018, 8:46 a.m. | Votes: 0 | [ VOTE ]

币也一样在炒,抄到5万了,今天快4万了

@ety001 | Feb. 5, 2018, 10:21 a.m. | Votes: 0 | [ VOTE ]

牛逼了

@justyy | Feb. 5, 2018, 10:33 a.m. | Votes: 0 | [ VOTE ]

不明觉厉。

@jeremy1127 | Feb. 17, 2018, 1:58 p.m. | Votes: 0 | [ VOTE ]

我报名了第二期没录上,不知道第三期能录上不

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>