paint-brush
如何成为 Web3 开发人员经过@colina
4,162 讀數
4,162 讀數

如何成为 Web3 开发人员

经过 ChainSafe Systems8m2022/06/09
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

Web3 是互联网的愿景,用户拥有更多的选择、控制和所有权。这是一种新的技术社会范式,其中数据可以在区块链上注册、标记化或在分散的、开源的、对等网络上进行管理和访问。 Web3 开发人员的薪水很有吸引力,产生影响的机会是无与伦比的。我们将最好的资源整理成一份简单、公正的入门指南,帮助您成为 web3 开发人员。

People Mentioned

Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 如何成为 Web3 开发人员
ChainSafe Systems HackerNoon profile picture

Web3 是互联网的愿景,用户拥有更多的选择、控制和所有权。

这是一种新的技术社会范式,其中数据可以在区块链上注册、代币化,或在分散的、开源的、对等网络上进行管理和访问。

加密运动吸引了许多开发人员,原因很容易理解。 Web3 开发人员的薪水很有吸引力,产生影响的机会是无与伦比的。有兴趣加入吗?

我们将最好的资源整理成一个简单、公正的入门指南。让我们潜入吧!

资料来源:BlockWorks

Web3 开发者路线图

您可以采取不同的途径成为 web3 开发人员,因此没有确切的步骤顺序可循。

还有很多信息需要消化,所以为了避免不知所措,最好循序渐进。这是基本菜单的样子。

Web3 开发者技能——基础

Web3 是无需许可的——没有进入障碍。任何有动力的人都可以学习编码。 

然而,应该注意的是,数学能力、分析能力和创造性地解决问题的能力会给你带来优势。

要在该领域工作,您需要了解数据结构和算法。您应该了解编程和区块链技术的基础知识。

如果您是绝对初学者,我们建议您从这本计算机科学导论开始。

Web3 开发者基础

区块链

“区块链”一词涵盖了影响社会许多不同方面的广泛相关创新。但简而言之,区块链是一个由其用户管理的去中心化数据库。

如果您是新手,这里有一个很棒的区块链介绍和一个用于理解术语的词汇表。比特币是第一个也是最著名的区块链,因此阅读比特币白皮书是第一步。

还有一些很好的解释器可以让初学者更容易理解比特币白皮书。

之后,您需要了解可编程区块链以太坊的概述。对于一般情况,其他好的起点是 YouTube 频道,如Andreas AntonoplousWhiteboard Crypto

更多深度:参加英国第一位博士 Patrick McCorry 的免费8 模块课程加密货币专业毕业。

密码学

由于区块链以分散的点对点网络模型运行,因此没有单个服务器或节点。在这种情况下,节点是连接到网络的计算机上的一个软件,它为分布式账本提供当前和历史更改的副本。

虽然区块链节点不一定需要相互信任,但系统必须保护交易信息。输入密码学——保护交易信息和确保数据一致性的基本要素。

区块链依赖于密码学,因此有必要熟悉一些基本概念。

这意味着了解非对称密码学及其应用的基础知识,包括签名算法、公私密钥对生成等。从这个概述或像密码学的乐趣这样的网站开始。

代币经济学

代币经济学是另一个需要理解的重要方面,因为 web3 中的许多应用程序都是由代币驱动的。而要了解代币经济学,你首先必须了解金钱。最快的方法是阅读货币简史

资料来源:中本聪

现在,我们可以了解价值和技术的交叉点——价值互联网简介 如需进一步了解,请查看去中心化金融 (DeFi)初学者指南Tokenomics 101 ,并将其与Why Web3 Matters联系在一起。

虽然这些资源旨在提供帮助,但独立思考至关重要。不要仅仅依靠二手资料。

相反,下载MetaMask ,加入去中心化自治组织 (DAO),试用Files ,并通过Rabbit Hole等平台进行探索。使用技术并形成自己的观点。

选择您的区块链开发路径

成为区块链开发人员没有万能的方法。您可以成为后端开发人员、前端开发人员或两者兼而有之。您还可以在协议层工作或只专注于智能合约。

当然,在每个类别中,都有很多变化。你可以从事区块链研究、开发规范、算法、代币经济学设计或工具。

您可以专注于集成开发环境、框架、库和中间件,或者将时间花在应用层,从事智能合约、UX/UI 开发、设计等工作。

对于大多数人来说,构建应用程序将是阻力最小的途径。您还可以决定专注于编写智能合约,并跳过成为全栈 Web 开发人员所需的所有学习。

在协议层上工作涉及了解给定区块链的规范并为实现做出贡献。

基础设施是任何去中心化网络的关键部分。事实上,没有协议(核心)开发人员,就没有区块链。

ChainSafe目前正在为EthereumFilecoinMinaPolkadot构建实现,我们非常支持任何遵循这条路径的人。

编程语言

无论你选择哪个方向,你都需要学习一些 web3 中使用的编程语言。有很多选项,但一些最受欢迎的选项包括 Solidity、TypeScript、JavaScript、Python、Go 和 Rust。

同样重要的是要记住,成为区块链开发人员并不意味着放弃以前的一切。从这个意义上说,三巨头是 HTML、CSS 和 JavaScript。

除此之外,决定您是要专注于前端还是后端。如果你专注于前端开发,你会想要学习 React、Vue、Angular 或Sauron等框架。

这些是构建去中心化应用程序 (dApp) 前端所需的基础知识。 DApp 是建立在区块链上的应用程序,具有标准的前端和区块链上的后端。

如果你想专注于后端,你会想学习 Rust、Go 或 Solidity。这里有一些教程可以帮助您:

HTML 和 CSS
爪哇
脚本

反应

Vue



DApp 开发者

前端开发

dApp 的前端是使用上面提到的一些框架构建的。流行的 dApp 包括 Uniswap、Aave、Augar、Foundation、Wormhole 等。

了解 dApp 的关键是它们(理论上)不在单个机构或实体的权限范围内,因为它们在区块链上运行。

要了解 dApp 的前后端如何交互,您需要了解前端开发和标准后端开发的基本原理。

查看:完整的前端开发路线图

有了基础知识,您就必须决定要关注哪个生态系统。每个生态系统都有独特的特点和不同的权衡。以太坊拥有最多的活动、开发者的思想份额和现有的生产 dApp。

从以太坊开始,你可能想要使用流行的开发框架Truffle 。这将简化流程并帮助您在构建自己的项目时避免常见错误。这是一个适合初学者的教程

后端开发

dApp 的后端与“标准”后端不同。

第一个区别是,对于 dApp,区块链是存储数据状态的主要来源,而不是标准后端通常使用的数据库或对象存储。

虽然技术目标相似,但通常不建议在没有对传统 Web 开发有明确定位的情况下深入后端。

但是,如果您想继续前进,学习后端开发将意味着连接数据库、创建自己的 REST API、构建将为您的工具提供动力的业务逻辑等。

对于后端,这是您的待办事项列表:学习NodeExpressHTTP 、如何开发API ,并开始部署应用程序。

弗朗西斯科·丘拉推特

智能合约开发者

智能合约是部署在区块链上的可编程脚本,用于在虚拟机上不信任地执行逻辑操作。

SolidityVyperDAML或其他语言编写的智能合约使去中心化应用程序能够利用区块链的加密经济安全性、历史数据的完整性以及未经许可使用的可靠性,同时任何人都可以公开访问以进行数据验证和分析。

Solidity 是最流行的智能合约语言。 Solidity 是静态类型和编译的,这意味着您需要在运行之前生成一个二进制文件。 ​​Solidity 有很棒的文档,在学习所需的时间方面与 JavaScript 相似。

要学习 Solidity,这里是另一个资源。请记住,您将不知道自己在做什么,这没关系,因为一开始没有人知道。

在编写任何代码之前,您必须设置您的开发环境。这意味着Remix IDE (一种用于编写、编译和部署合约的流行工具)或HardhatBrownie等工具在需要本地开发环境时也可以派上用场。

如果没有Speed run Ethereum ,对 web3 开发的介绍是不完整的,这是开始将一些部分组合在一起的好地方。

要了解更多关于从头到尾的过程,包括如何使用上述框架,请从这里开始

还值得一提的是,没有必要从头开始编写代码。您需要了解如何满足特定需求并随着时间的推移实施适当的自动化规则。

但是有很多初学者可以使用的智能合约模板。 OpenZeppelin是一个可以找到久经考验的智能合约库的地方。还有很多其他的。

协议开发者

协议开发涉及在软件系统中编码管理特定区块链应如何运行的规则。

协议通常按层组织,例如用于网络的OSI 层。这允许轻松耦合和同时开发层的能力。

这种分层方法也被许多流行的区块链系统采用。这包括第一层 (L1) 区块链,即区块链最重要组成部分的基础网络:共识,它充当系统的基础网络并提供诸如安全保证之类的东西。

资料来源:双子座

第二层(L2)——建立在 L1 上的二级协议,有助于解决扩展、费用和交易速度等问题。 L2 建立在 L1 网络之上,以继承基础层的安全保证,同时将繁重的计算转移到另一条链上。

一些区块链也有 layer 0 的概念,例如Polkadot 。在其他情况下,零层也可以指社会共识。

要作为协议开发人员开始,您需要确定要为哪个生态系统和哪个层做出贡献。一个好的第一步是查看您选择的区块链即将发布的规范提案,以了解开发的方向。

这些细节通常在黄皮书或规范文件中指定。一些例子是Polkadot 、以太坊和 Filecoin

鉴于大多数流行的区块链都是开源的,因此还可以查看代码以了解协议是如何实现的。花一些时间四处寻找并检查针对协议实现打开和关闭的问题。

请注意,协议开发还包括围绕不同层构建的基础设施,例如,桥接器(如ChainBridge )或块浏览器(如Beacon 链浏览器)。这是您可以遵循的另一种协议级开发路径。

如何成为一名 Web3 开发人员——最后的想法

加密货币的步伐使任何人都无法独自掌握最新信息。

这就是为什么社区很重要。有抱负的 web3 开发人员需要找到学习空间并帮助他人学习。你可以做几件事:

1. Twitter 网络
2.加入公共公会
3. 参加黑客马拉松
4. 为开源项目做贡献
5. 参与Discord

弄脏你的手也很重要。深入研究 Devpost是一种开始方式。

另一种方法是从 LearnWeb3 DAO大二轨道构建白名单 dApp,使用 BuildSpace 创建您的第一个 NFT 市场、应用程序或基于区块链的游戏,或从以下一些资源中寻找灵感。

如果从这一切中得出一个结论,那就是行动是最重要的。对于所有的理论,没有比实践更好的学习方法了。学习编码并不难。

知识的应用是一个挑战。当你建立你的第一个项目时,真正的教育就开始了。

教育资源

Web3 大学
Consensys 训练营

Dapp大学

吃块

Chainlink 训练营

使用web3

开发者DAO

Web3 开发人员工作

加密职业
加密工作列表

加密货币工作

盛况加密货币
工作
Crypto.jobs
无银行工作


ChainSafe 也在寻找有才华、热情的人!如果您有兴趣,请查看我们的空缺职位并通过➡️➡️ [email protected]与我们联系。