2023年如何成为Web3开发者?详细聊聊Web3开发者的那些事

5,729 阅读8分钟

难题

最近和一些朋友闲聊,发现都对 Web3 很感兴趣,都想加入进来。但又找不到切入点。

这篇文章主要是和大家聊聊如何成为一名 Web3 开发者。

前景

至于 Web3 开发者的职业前景,我就不多赘述了。可以看我之前的一些文章。

这里可以简单看下目前 Web3 开发者的招聘市场和薪资情况。截图均来自我的朋友圈及我所接触的一些社区和平台。

可以看到,Web3 的要求并没有那么高,通常只需要 2 年以上的工作经验就可以拿到 Web2 中 5 年以上经验才拥有的待遇。

为什么会这样?

Web3 目前仍然是蓝海,刚起步不久,开发者少,人才难招。

就像 00 年前后,你即使只会用 html、css 和 js 简单画一个页面也仍然是难得的人才。

而反观 Java、前端这些已经非常成熟的领域,人才泛滥,市场竞争激烈。你需要付出非常多的时间和精力才能在一众人群中脱颖而出。拿最成熟的 Java 招聘市场举例,这个领域有数不清的十几年架构经验的老程序员,他们具有先发优势,作为后起之秀的你很难在技术和经验上卷得过他们。

但在如今的 Web3 开发者里面,竞争没有这么激烈。你现在加入进来,三年以后你就是大佬,五年以后你就是专家。

Web3 适合什么人?

适合零基础小白,也适合具有前端、后端、数据库等经验的开发者。可以说,Web3 适合所有人。

为什么这么说?我先分析一下 Web3 的技术架构。

本质上 Web3 和 Web2 的架构没有太大区别,但是引入了一些概念。

传统 Web2 架构是前端、后端、数据库。

通常 Web3 架构是前端、后端、智能合约、区块链、去中心化存储。

Web2 的前端是和 API 交互,Web3 的前端不仅仅是和 API 交互,还要和 ABI 交互、和合约、区块链交互。

Web2 的后端是操作 DB,Web3 的前端是操作合约、区块链和去中心化存储。

Web2 的接口风格是 RESTFul,Web3 是 JSON-RPC。

总而言之,Web3 不是一种新技术,而是将一堆技术进行框选,组合,形成的技术体系,在技术上,它并没有完全脱离 Web2。原来在 Web2 中的各种技术及经验,一样可以沿用到 Web3 的开发中。

学习 Web3 技术有哪些难点?

四个字:不成体系。

说到底,Web3 毕竟是一个新事物,虽然它是建立在一堆旧事物上的。

新事物在诞生之初都会伴随着非常多的变化。

在这个过程中产生的一系列内容都只有很短的时效性。而且网络上的大部分内容只适合作为了解信息的一种渠道,很难成体系。

体系是很重要的,在任何一种知识或者技术中都是非常重要的。所有高手都有自己的体系。

Web3 的中文资料很少,而且很多都很片面,而目前中国对待 Web3 这类技术的政策保持着冷眼旁观的态度,这导致无论是权威机构还是网络上的中文资料都很稀缺,而成体系的 Web3 资料更是少之又少。

所以一个 Web3 成体系的学习资源对很多人是很有价值的。而我也在想办法整理一套这样的知识体系,帮助到更多需要的人。让 Web3 成为一种普惠的技术,不要再和下一个技术机遇擦肩而过。

知识体系与学习路径

目前我还在设计这套 Web3 的体系,不过在这之前我可以给大家推荐一下我目前设计的半成品。由于我设计的知识体系是对标全栈开发者,所以会涵盖 Web3 技术相关的方方面面。

话不多说,下面是学习路径。

1. 基本概念

无论你是做前端、后端、智能合约还是全栈,都需要了解 Web3 中的基本概念。

其中包括:Web3 原理、加密货币、区块链、钱包、交易所、区块链浏览器、智能合约、NFT、DApp、DAO、比特币底层原理及核心技术、以太坊底层原理及核心技术。

当然不是所有内容都需要了解,有一些是根据你的具体情况选学的。

但是有一些是你必须懂并且要操作的。

比如如何注册一个钱包,MetaMask、rainbow、coinbase 这些主流钱包的基本使用。

然后你要知道怎么样获取货币,交易所你要会用,区块链浏览器你要会看。

你要懂什么是智能合约,以及智能合约基本的功能。

2. 前端基础知识

因为 DApp 也要有前端页面,所以你必须懂前端基础知识。这部分内容并不多。

一款编辑器:VSCode。

三门语言:HTML、CSS、JavaScript。

一门非必选语言:TypeScript。

3. 前端框架

只学习前端基础知识确实能够开发一个 DApp 的前端,但要想 hold 住一个稍有规模的项目还是比较吃力的。这时需要学习一门框架。

目前大多数 Web3 项目都会采用 Nextjs 框架,并使用 vercel 部署。

而 Nextjs 框架又基于 React 库。

所以这里你需要学习 React 和 Nextjs。

当然你也可以学习 Angular、jQuery 这些库或者框架,但使用率没那么高,机会会少很多。

4. 后端基础知识

任何一门编程语言都可以充当 Web3 的后端,可以学习 Nodejs、Go、Java。

这里推荐 Nodejs,因为是全栈,使用 Nodejs 的话可以前后端都只使用一门语言就可以了。

5. 后端框架

Nextjs 可以写一些 API,使用 Nextjs 作为后端框架完全可以。

当然也可以选择其他语言的框架,比如 Nodejs 的 express、koa;Java 的 Spring;Go 的 gin、Iris 等。

6. 智能合约

相对前面的内容,智能合约是一个全新的概念。

你需要掌握 Remix 编辑器的使用,Solidity 语言的使用。还要学会一些工具,比如 Hardhat、Waffle、Ganache 和 Truffle,它们可以帮我们更好的完成智能合约编译、测试和部署工作。你还需要学习 OpenZeppelin,它是一个很棒的 Solidity 库。

然后还需要学习各种协议标准以及它们的区别,比如 ERC20、ERC721 和 ERC1155 等。这是必不可少的基础。同时你还需要知道代理合约。

同时你还需要了解一些 NaaS,比如 Alchemy、Infura、Tenderly 等。这些 NaaS 都提供了很多功能让你更好地完成你的 DApp 开发。

7. 智能合约交互

智能合约交互需要学习 Web3.js、Ethers.js 和 Wagmi 这三个主流的库。如果你使用 TypeScript,还需要学会使用 typechain 这个库。

Ethers.js 是我认为目前最好的智能合约交互库。

如果你使用 nextjs 或 React 进行开发,那么 Wagmi 是更好的选择。

8. 基础设施

这部分内容比较杂,包括公链、域名系统、EVM、跨链桥、去中心化存储、IPFS、预言机等。

但很多都是存在于概念上的,在技术上可能很少会接触到。

但是像 IPFS 和预言机这种技术还是会用得到的。如果使用 IPFS 还要使用 Pinata 这类 Pin 服务。

总结来说,基础设施除了一些原理性知识和概念外,主要是去中心化存储这项技术,它取代了传统数据库,用来存储体积大难以上链的数据。

9. 应用生态

这部分就是 Web3 真正发挥价值的地方了。

你不能仅仅知道 Web3 的技术,还需要知道一些业务。

包括了 DEX、稳定币、借贷平台、流动性质押、预测市场、NFT、DeFi、GameFi 等。

当然作为开发者的话,这部分并非必学,以了解为主,如果你完全不了解,很难进行业务的开发。如果作为产品或者运营,就需要非常精通这些生态。

以上就是我总结的知识体系,目前仍在不断丰富和完善中。

我希望将我的经验分享给更多人,帮助一些人,成就一些人,改变一下这个行业,推动一下世界的进步。

我正在参加掘金的年度人气创作者投票,如果方便希望可以帮我投票,非常感谢。

网页和 App 都可以分别投很多票哦。

可以点击我的头像后面的按钮进入投票,也可以点击下面的链接。你的投票对我非常重要!

rank.juejin.cn/rank/2022/w…

我们是一群立志改变世界的人。而 Web3 是未来世界一大变数,我们想帮助更多人了解 Web3,如果你对 Web3 感兴趣,可以添加我的微信:LZQ20130415,邀你入群,一起沉淀、一起成长、一起拥抱未来。