一个Web3开发的入门历程

  • Verin
  • 更新于 2022-09-01 00:10
  • 阅读 4202

这篇文章主要写自己在web3行业的历程,包括自己如何入行,自己的技术栈以及自己的学习感悟。

说在前面

这篇文章主要写自己在web3行业的历程,包括自己如何入行,自己的技术栈以及自己的学习感悟。也会介绍我整个学习过程中对我帮助非常大的技术资源和开发者,这些文章和人对我确实有质的提升。希望这篇文章能够给新入行的web3开发者带来一点沉浸式体验和一些有用的经验,同样希望能够和同行形成一种共鸣。

关于我

这篇文章开始之前我先介绍一下我自己,因为新人的疑问我都有过,可以先说我,然后从我的角度来给大家带来一些感悟吧。在很多新人咨询类的群里听到的最多的几个疑问是:1.没基础能不能学?2.从哪里入门?有没有什么资料可以参考?3.区块链行情怎么样?现在工资水平如何?4.灰色或者违法吗?针对这几个代表性的问题我一个个回答一下:

1.我毕业于非常普通的本科学校,大学专业是师范英语,没有大厂经验,目前是前端开发+合约开发,3年多一点点的开发经验,在做开发之前是英语老师,转行是自学,当时自学的是python,然后又学的前端,刚自学那段时间最怕的是环境问题,硬是啃到现在的,编程思维和经验是啃出来的,最初基础很差。就我这履历,web3新人群比我强的一大堆,所以没基础能不能学这件事,从我的角度就可以看出来了,肯定能学,只是自己要考量一下是不是要去学,是不是值得你去学,如果你存在自我怀疑和纠结,那答案就是放心去学,冲就行了!

2.技术如何入门我接下来会细说,暂且不表。

3.对于现在的web3的行业发展行情,我听过很多分享感悟,我个人体会就是所说的98年互联网,很多基础设施确实不完善,比如solidity这个语言,语言简单,用起来很奇怪,开始给我一种累累的的感觉,自身带有一堆缺陷,版本一堆,属于是不停的优化和完善状态了。针对于工资,虽然很多人说web3开发不在乎工资,这个多多少少有点夸大,可能我比较菜,没有到这一步,所以还是对工资有要求的。我的感悟是,确实不要那么卷,工资比上有点不足,但是比中和比下那还是非常足的,除此之外,会有可能有一些的“意外之财”。

4.作为一个开发会不会有风险被请去喝茶?我目前没有,我也不参与违法犯罪的业务与事情,我也建议大家不要去参与,踏踏实实研究技术。这个我不好说,我只能说,目前的环境有可能你今天还是合法的,明天可能...比如教育行业,我只能点到这了。

如何入门

开始讲正题了。在如何入门的这个话题上,我看过郭宇大佬的采访,他说想搞好web3要学好web2。我对于这句话有非常强的共鸣。我搞了很多dapp,现在回头在打React和Ts的基础。说一下我目前的主技术栈:前端框架上我用的是React+ViteNext.js,语言是Ts为主,合约语言是solidity,测试框架是Hardhat,Python和Golang也会偶尔研究,但没做过大业务,其他的语言只是会看一看,但不会去实际操作,比如Rust。可以看出,我绝大部分可能还是用web2技术栈来搞web3,所以打好web2基础是非常重要的。

踩过的坑

我其实19年初就已经进入区块链行业了,不知道同行有没有听过MOAC公链。那个时候从老师刚转行,for循环都写不明白,听区块链更是云里雾里。入行早,用现在的角度看,那个时候随便研究一点东西,空投都能实现财富自由,但是我没赚到钱!!!当时也没什么Dapp供你学习,公司整天逮着溯源业务去做,恨不得什么东西都溯源,根本没有看到区块链行业的发展,一个像样的Dapp都没做过,更别说Defi方向了,现在想想如果那个时候有人带着我们搞核心业务,可能我已经是行业大牛了。后来又搞过联盟链,也基本上没有什么提升,我整个前2年其实在web3的圈子外发展,真正深入web3是在去年年初,真正的在搞我认为的web3的技术。就算是深入web3这段时间我也有过很多歪路,比如我求急,给自己定了一个计划:一天看3-5个项目,每天坚持逛twitter,参加各种space,参加各种discord,啃各种白皮书,一个月后我极度的累,信息多不说,还没法深入,都是概念层晃荡,技术还是没有提升,合约还看不明白。我决定转方向,一步一个脚印的研究技术。

技术栈的确定

前端开始的技术栈是Vue+Js,之所以转React+Ts是因为绝大多数Dapp项目都是这个技术栈,Dapp是没有后端的,很多逻辑是前端完成的,有些自己琢磨不明白,这个时候开源Dapp的作用就来了,看源码然后直接copy是提高技术的有效方式,Vue也能搞,但是看React项目然后转换成Vue有点头疼,可能对我来说很头疼,既然会看了会copy会转Vue了,为啥不直接React,而且对于web3,React有很多库直接用,这一点,Vue没法比。推荐一个我朋友搞的Vue版本Uniswap,他搞这个的时候被恶心坏了,后来我们一起决定转的技术栈,现在技术栈基本和我一致。 合约技术栈我目前还是坚持在搞EVM的项目,非EVM方向的我还没有开始研究,比如rust move等等,我想等EVM方方面面熟悉了我再去实践,主要是害怕自己变成热锅上的蚂蚁,无法静下心来。目前也没有实践链底层方向,还扎在Dapp层。

学习前的准备

1.你要学会科学上网,这是必备的技能,我下面分享的一些链接有很多需要科学上网才能打开。2.你要有会Google的能力,搜索能力将是你后面最重要的能力,中文无法搜索到你要的结果,要学会英文搜索。3. 要会使用github,各种大神的demo是我们学习的珍贵资料,一定要看要啃。4. Metamask钱包与Google浏览器要下载要学会用。5. 非必需,起一个自己喜欢的英文名作为各种社交号的昵称。

学习路线 + 各种安利

1.我看的一个启蒙视频,也是我强烈推荐技术开发必看的一个视频:北京大学肖臻老师《区块链技术与应用》公开课,隔段时间我就会来复习一遍,我最初看的时候视频评论没多少,现在来看,有一种桃李满天下的感觉,老师的课程是无须质疑的,结尾他个人的感悟也是必看的,这个视频我推荐入门前看一遍,然后入门后一段时间再看,整个感悟完全不一样,说是启蒙必看一点也不夸张。

2.看完了视频对于整个区块链技术有了基本的概念,这个时候我个人推荐先看合约,毕竟他是Dapp的核心,感受一下这个语言,学习solidity入门我推荐WTFSolidity崔眠大师理想区块链,基本上这三个足够你入门了,配合你平常Google,入门是没什么问题的。

3.这个时候假设你前端已经会了的,如果不会,建议还是学好我上面说的React+Ts技术栈。然后可以写一个简单demo来感受web3调用合约和web2调用api的不同(备注:在这一步之前,你要知道几个库,web3-react,etherswagmi(与web3-react相似,都是react与钱包和合约交互的库,封装了很多方便使用的hooks,这里我都有封装,开箱即用的那种,现阶段我推荐wagmi,相对于web3-react要配置方便,封装简单。附上两个模板的仓库地址:Nextjs+web3-reactNextjs+wagmi,好用的话希望给个star。)),Demo我推荐可以试试投票Dapp,众筹Dapp或者只是简单读数字写入数字功能都可以,完成整个Dapp的流程就是胜利!附上我自己的批量转账工具(前端和合约均开源):批量转账地址,大概长这样:

image.png

4.完成了基础入门版的Dapp,可以看看一些成熟大项目了,UniswapPancakeswapSushiswap是我推荐必看的,尤其前端代码,他们有很多utils可以直接使用,合约不用说了,Uniswap的合约是经典,属于是必看的。对于其他的项目可以酌情看看,这三个我推荐前端要必须看的,我看的比较多的是Suswap的前端代码,很多逻辑都是copy它的,熟悉了它的,做很多Dapp就会有很清晰的思路。

5.看完了成熟大项目不要硬啃,看不懂是正常的,可以缓一缓。这个时候的状态是合约逻辑熟悉了很多,推荐做一些中等难度(没有明确分级定义,我个人理解的就是不是非常难的项目)的合约项目,比如质押挖矿,土狗ERC20(纯属了解概念作为技术学习),ido等等,推荐看看Sushi的masterchef合约,然后写一个质押挖矿项目(非必需,有其他感兴趣的都可以自己去尝试),这个项目搞完,会的各种技能就多了很多,接下来就是进阶和深入了。到了深入阶段,那基本上不需要小白科普了,我就不多说了,以后等我很强了,可以写一写深入的!

6.以上是我自己的路线,技术栈我没有深入说,我Github上有我说的技术栈的案例,大家可以自行去取用,这里有郭宇的总结

image.png 这里面提到的技术栈我绝大部分都实践过,建议大家都去自己实践一下。

学习感悟分享

1.我现在的学习状态是上班前1小时看行业信息,下班前半小时准备好回家要学习的东西(备注,目前我上班的公司在做web2的东西,我白天并没有时间去搞web3)。下班后学到11点半到12点半之间不等,可能大家觉得很卷,但是我是乐在其中的,我确实会很快乐,所以能坚持下来。我每天会坚持写web3代码,之前想过仿Mycointool的工具,但是太多了,我只仿了批量转账,以后再仿其他的看看,目前在做一个缝合怪项目,以后完成了分享出来,其实就是给自己定目标,每天知道自己写什么代码。

2.学习伙伴要交起来,比如我上面说的写Vue版本的swap那个人,我俩经常讨论web3技术,几乎每天都聊,这对我的进步是极大的,我微信也有很多同行,基本上属于是有问必答,毫无保留的分享,对于新人,大胆的问web3老人,基本上大家的分享精神都是很好的,没有什么顾虑,但是前提是自己也要进步,毕竟老人也希望新人带来有价值的信息。

3.加群!加群!加群!一堆人一起讨论一起学习的氛围是非常重要的!!!推荐两个群,WTF,这个我是从群里70多人看到现在的,一开始全是小白,几个月过去了,现在讨论已经是深入的东西了。script.money,从脚哥的群我学到了非常多的东西,里面的老哥真的是能力又强又无保留的分享和解答。备注;这两个群加入需要条件,可以自行做任务加入。这里不得不吹一下web3的技术群,比如现在已经半夜了,脚哥的群还在解答!!!!

image.png

而且持续几个月每天都会讨论很多技术,技术永远说不完的感觉,相对于web2技术群三天之后就是讨论国家大事,社会热点,各种吃瓜事件来说确实是一个纯粹的技术群,我加入的其他web3技术群,大都能够持续讨论技术。

4.要学会给自己制造学习氛围和学习环境。我有爱学习的同事,我很多事情都向他学习。我把自己的油管,b站,推特,微博全部关注web3相关的up主了,其余的一概不关注,让自己每天沉浸到这样一个氛围中。

5.最好持续提高自己的英语技能,这个玩意儿用来吃饭可能不行,但是用来辅助你的主技能,那可就很行了。

最后总结

我是决定后半生all in web3了,哪怕是最终可能web3不行了我也要一路走到底,因为我确实在web2行业无法获得快乐,获得不了成就感,我的的确确在web3获得了不少的成就感以及一点点“意外之财”。这里大家可以保持谨慎,不一定要all in,每个人的感受不一样。我已经开始给我的大美女老婆安利我们这个行业了,期待回家能够有人一起探讨。最后,希望这篇文章对于想入行web3的开发者有一些感悟,帮助你们减少走一些弯路,愿大家以后在web3的路上一起进步一起赚钱!最后备注:我不强,只适合入门分享,更多更强的人需要大家自我寻找,到时候链接记得分享给我呀!

点赞 13
收藏 10
分享

4 条评论

请先 登录 后评论
Verin
Verin
discord:Verin#2256 v: daqingchong-pro 备注来意