“Web3 开发究竟包含哪些技术栈?” “转型做 Web3 开发的薪资水平如何?”
相信每个刚进入或者准备进入 Web3 的开发者,都会在不同时刻有关于 Web3 技术栈、Web3 薪资待遇的疑问。本文将汇总目前被大部分认可和公开的 Web3 技术栈定义、Web3 专业求职/招聘网站的薪资数据,旨在为刚进入 Web3 的新人开发者提供全面的入门指南。后续 TinTinLand 也将持续汇总 Web3 开发工具、资源、求职等必要信息,为新人开发者的 Web3 之旅保驾护航。
Web3 作为高速发展、技术革新的一个时代,Gavin Wood (以太坊的联合创始人,Parity Technologies 的首席执行官)曾定义 Web3 本质上是一组支持去中心化应用程序 (dApp) 开发的技术。除其他外,dApp 受益于去中心化控制和分布式基础设施,同时为用户提供了对身份和价值的更多控制权。
简单来说,Web3 基于区块链技术建设去中心化的互联网。Web3 旨在解决目前的数据所有权、互联网高度集中和垄断、集中式基础架构带来的等等问题。通过技术消除中心化中介的权力,也就是说 Web3 堆栈带着一些基本属性:如提供更好的用户体验、更高的数据安全性和抗故障服务等。
Web3 技术堆栈
当然,随着技术的不断更新和发展,Web3 堆栈在最初是新生的和零散的。但多年来的革新使得其产生了基本的层级和框架,本文采用在 MkDocs 上发布的 Web3 Technology Stack 中对于 Web3 堆栈的层级划分和定义为主,但为方便阅读在做了一定简化处理。感兴趣的开发者可以下滑到参考文献,点击原文链接阅读更详细的 Web3 堆栈解释。
协议层
Web3 开发者需要做出的第一个决定是构建哪个区块链协议,其中包含比特币、以太坊等基础 L1 协议、L2 扩容方案和跨链桥。
基础设施层
决定了协议层后,开发人员需要明确他们的应用程序最终将如何与底层区块链交互。于是到了基础设施层。基础设施中包含:
节点基础设施:节点是应用程序与区块链“发生”交互的地方,一旦用户与应用程序交互,它们是读取区块链状态并向其写入更新的计算机;
钱包和密钥管理:区块链钱包支持用户对交易私钥进行管理,同时部分钱包和密钥管理提供商使开发人员能够在区块链钱包和应用程序之间建立安全连接;
身份:部分协议能在应用程序中充当用户的身份,或提供框架和工具包使得开发人员可以使用来验证用户凭据和用户操作,也能用于授权使用其代币或 NFT 访问内容、软件和其他数据。
分散式计算:由相应提供商提供计算资源和计算能力。
去中心化存储:数据直接存储在区块链节点上的成本很高,Web3 开发人员无需将数据存储在集中式数据库上,而是可以对某些数据使用点对点数据存储协议,实现去中心化云存储。
预言机:预言机支持将外界信息写入到区块链内,完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途
互操作性:互操作性协议为开发人员提供 SDK 和 API,以构建可与不同区块链通信的应用程序。
开发者工具
在允许应用程序与区块链网络交互的基础设施原语之上,是允许开发人员更无缝地与上述原语交互的工具。其中包含了框架和 IDE、低代码/无代码、索引和查询(帮助开发者定位和访问底层数据库中的特定数据),测试、模拟和监控,安全和审计(为开发人员提供了各种服务、框架和监控工具,以减轻潜在的安全风险和漏洞),以及消息传递(构建正在构建安全的消息传递协议和分散式通信网络)。
应用支持层
正如应用层在过往的互联网语境中类似,应用支持层联系了其他层,是最终的应用程序呈现。该层为用于通信的应用程序和用于消息传输的底层网络提供接口,将上述所有层与特定的 Web3 用途联系起来。
事实上,由于数十年的积累,帮助创建、部署和维护 Web2 应用程序的工具非常详尽和易得。开箱即用的解决方案、成熟的基础设施、共享代码库和易于使用的框架在很大程度上使 Web2 中的构建变得轻而易举。当回归到 Web3 语境,仍然需要专业知识来与复杂的基础设施进行交互,目前的技术堆栈仍然在快速发展和更新迭代。但不断成熟的技术栈和完善的开发者工具,又何尝不是下一个 Web3 开发人员爆发增长的契机呢。
Web3 开发者平均薪资
Web3 开发者供不应求、有价无市。行业红利期、技术驱动等特点让众多优秀的开发者选择创业、开发属于自己的项目,Web3 世界中的薪资远不是工作的唯一动力和筛选标准。成熟的开发者无需担心基本的固定工资,其收入来源和渠道非常灵活。然而,对于很多刚进入行业的新手开发者,一份稳定的薪资会给他们建立在这个行业生存、成长、成熟的物质基础。
而 Web3 世界以高薪优待的姿态,对所有意愿进入行业的开发者打开了怀抱。根据 Web3.career 的统计,Web3 行业中的不同职能岗位,不同类型的开发者平均底薪如下:
我们可以看到技术开发岗位的薪资超越大部分非技术岗,最高的 Rust 开发人员和智能合约开发人员,薪资高达 12 万美金每年。而根据 cryptocurrencyjobs.io 的最新统计:在亚洲,Solidity 开发人员的平均底薪为每年 125,000 美元,低底薪为 100,000 美元,高底薪为 150,000 美元;
对于远程工作,远程 Solidity 开发人员的平均底薪为每年 145,000 美元,低底薪为 100,000 美元,高底薪为 200,000 美元;在美国,Solidity 开发人员的平均底薪为每年 127,500 美元,低底薪为 80,000 美元,高底薪为 180,000 美元。
结语
必须承认的是,Web3 新人开发者面临着如何进入、如何成长、如何成功的系列问题。
而从熟悉 Web3 开发者技术堆栈开始,能够更加清楚 Web3 的技术框架和必要工具,从而更高效的发现更适合自身的 Web3 道路。
TinTinLand 也将持续提供 Web3 开发课程,最新技术进展、行业活动资讯,Web3 求职等优质内容,助力开发者朋友顺利进入 Web3 。
参考文献:
Web3 Walkthrough — Part 2 — Becoming a Web3 Developer | HackerNoon
A simple guide to the Web3 stack
A Developer’s Guide to the Web3 Stack
Hire Web3 Developers: Salary, Skills and More
Solidity developer jobs: which Web3 companies are hiring? - Articles