如何成为Web3开发者路线图

  • QuickNode
  • 发布于 2024-10-08 21:55
  • 阅读 77

本文为Web3开发入门指南,详细介绍了从零开始学习Web3开发的步骤,包括区块链基础概念、开发环境搭建、智能合约开发、dApp构建等内容,并提供了丰富的学习资源。

提示

将本指南作为你进入 Web3 开发的清单。我们不会涵盖如何构建项目的技术步骤,而是为你提供解释和资源,帮助你快速入门。

想成为一名 Web3 开发者吗?在本指南中,你将学习成为 Web3 开发者所需的步骤,无论你是从零开始还是从 Web2 转型,这份清单都能让你快速上手。让我们开始吧!

什么是 Web3 开发?

Web3 开发是构建运行在区块链网络(如以太坊、比特币和 Solana)上的应用程序的过程。与传统的 Web2 应用程序不同,Web2 应用程序依赖于由单一实体控制的中心化服务器和数据库,而 Web3 应用程序使用区块链技术将数据和控制权分配给众多用户。这种方法利用智能合约(区块链上的自执行代码)和去中心化存储来创建不需要信任中心化机构且对任何人开放查看、使用和构建的应用程序。

先决条件

如果你是编程或 Web3 的新手,你需要掌握基础知识。查看以下资源,并花一些时间更好地理解它们,然后再继续前进。这些工具对 Web3 开发至关重要。

设置开发环境

  • 安装 Node.js & npm;下载并像安装其他程序一样安装它。
  • 安装代码编辑器(用于编写和执行代码的程序)。流行的选项包括:

学习基本的 HTML、CSS 和 JavaScript

  • Mozilla HTML 文档
  • Mozilla JavaScript 文档
  • Mozilla CSS 文档
  • 通过 YouTube、edX、Google 等平台利用免费的在线学习材料。
  • 考虑使用像 ChatGPT 这样的 AI 工具来加速你已经知道如何完成的任务,但不要依赖它们。例如,像使用初级开发者一样使用 ChatGPT 来帮助你编写你已经理解的 CSS 代码,而不是依赖它来学习你尚未掌握的概念。

如果这些对你来说都是全新的,别担心。这些步骤将帮助你设置开始编码所需的基本工具,并引导你学习基础的网络技术。

理解区块链概念

在深入 Web3 开发的技术细节之前,理解 Web2 和 Web3 之间的核心差异至关重要。虽然有许多细微的差别,但有两个根本性的转变定义了 Web3 范式:

  • 用户拥有的身份验证:Web3 使用由用户控制的加密钱包,而不是依赖中心化的用户账户。
  • 公开透明的账本:所有交易和智能合约交互都记录在公共区块链上,实现无需信任的验证。

花时间理解区块链技术的基础知识,包括节点、共识和加密等概念。以下两份指南将涉及这些概念,但请务必通过在线查找更多资源来深入理解。

Web2 与 Web3 架构

花点时间理解 Web2 和 Web3 之间的差异。请注意,这些类别并不是绝对的,两种范式中可能存在重叠或例外。

方面 Web2 Web3
身份验证 中心化用户账户,通常与电子邮件绑定 用户拥有的加密钱包
数据透明度 有限,通常由服务提供商控制 大多数交易的公共区块链账本
信任模型 依赖中心化机构和服务提供商 通过加密验证实现无需信任的系统
智能合约 不常用(通过 API 实现类似功能) 核心功能,支持复杂的链上逻辑
治理 公司集中决策 传统治理与 DAO 的混合;中心化影响仍然显著

Web2 和 Web3 各有优缺点。Web3 技术仍在不断发展,在可扩展性、用户体验和安全性方面仍存在许多挑战。

区块链作为后端

在深入特定区块链环境之前,重要的是要理解区块链可以被视为去中心化应用程序(dApps)的一种后端。就像传统 Web 应用程序有多种后端选项(例如 Node.js、Python/Django、Ruby on Rails)一样,区块链开发者也有多种链选项可供选择。

每条区块链都提供其独特的功能、权衡和生态系统。选择区块链取决于以下因素:

  • 性能要求
  • 可扩展性需求
  • 开发生态系统和工具
  • 目标受众和现有用户群
  • 特定功能(例如,智能合约功能、代币标准)

两种流行的 dApp 开发区块链环境是以太坊虚拟机(EVM)和 Solana 虚拟机(SVM)。让我们来比较一下:

EVM 与 SVM 的比较

方面 EVM(以太坊虚拟机) SVM(Solana 虚拟机)
使用方 以太坊和许多 EVM 兼容链 Solana
主要语言 Solidity Rust
生态系统 庞大,广泛采用 增长中,专注于高性能
性能 中等交易速度,较高费用 高交易速度,较低费用
开发类比 类似于在 Windows 或 Mac 上开发 类似于为专门的高性能 Unix 系统开发
学习曲线 中等(Solidity 专为智能合约设计) 中等(Rust 在区块链之外有更广泛的应用)
智能合约功能 丰富的功能集,广泛支持的标准 增长中的功能集,优化性能
开发工具 广泛的工具和框架套件 开发中的工具集,专注于性能

就像开发者可能会根据项目需求选择不同的后端技术一样,区块链开发者根据具体需求和目标生态系统在 EVM 和 SVM(或其他区块链环境)之间进行选择。

虽然精通多个区块链环境是可能的,但通常从其中一个开始并建立专业知识,然后再扩展到其他环境是有益的。这种方法允许你在分支之前深入理解一个生态系统,类似于在掌握一种后端技术之后再学习另一种。

第一步:理解加密货币钱包

加密货币钱包有多种功能,其中一个主要功能是验证用户身份。

  • 验证用户身份
  • 存储加密货币
  • 与智能合约交互
  • 部署你自己的程序
  • 管理你的数字资产

可以将其视为你在区块链世界中的银行账户和数字身份。通过将你的账户与公钥和私钥对关联(我们稍后会介绍),它允许你安全地访问你的区块链资产、锁定资源和执行交易。

钱包的关键组件

  1. 公钥地址:这就像你的电子邮件地址或银行账号。可以安全地与他人分享,用于接收加密货币或与智能合约交互。
  2. 私钥:这就像一个超级强大的密码。它完全控制你的钱包。切勿与任何人分享!
  3. 助记词:也称为恢复短语或助记短语,这是一系列单词(通常为 12 或 24 个),可以生成多个私钥,从而生成多个公钥地址。可以将其视为你的钱包的主密钥。

钱包的工作原理

为了理解钱包的底层工作原理,让我们为 EVM 和 SVM 兼容的区块链创建一个简单的“燃烧器钱包”。燃烧器钱包可以被视为临时、一次性使用的钱包,用于测试或与你可能不想使用主钱包的区块链应用程序交互。每条区块链使用不同的算法生成密钥对(例如,公钥和私钥),但过程基本相同。

  • EVM 兼容(以太坊)
  • SVM 兼容(Solana)

点击“生成钱包”以创建一个 EVM 兼容的加密钱包。这将为你提供一个公钥地址和一个私钥,可用于测试目的。在生产环境中,你将使用钱包应用程序来安全管理这些信息。EVM 钱包通常使用一个 64 字符的十六进制私钥和一个以 '0x' 开头的 42 字符的公钥地址。

💼生成钱包

生成钱包

点击“创建新钱包”以创建一个 SVM 兼容的 Devnet 钱包。Solana 钱包使用一个 64 数字数组作为私钥和一个 base58 编码的字符串作为公钥。

🔑使用 Devnet SOL 生成新钱包

创建新钱包

这里的关键点是,虽然两个系统都使用公钥-私钥加密,但它们有不同的格式和略微不同的密钥创建/管理方法。

流行的钱包选项

在深入了解流行的钱包选项之前,将加密货币钱包视为用户名和密码的加密版本是有帮助的。使用你的公钥(类似于用户名),你可以查看与你的账户相关的链上信息——例如余额、资产所有权、社区成员资格和交易历史。私钥(类似于你的密码)允许你对账户进行更改,例如发送资产或签署消息。

你通常认为的钱包实际上只是一个用户界面(UI),它显示你的代币余额和账户信息,并在幕后使用这些密钥。UI 获取有关你账户的相关详细信息,并提供按钮以轻松执行常见操作,例如发送或接收资产。

对于实际的开发和测试,以下是一些你可以选择的流行钱包。

多链钱包
  • Coinbase Wallet:支持包括以太坊和 Solana 在内的多条链
  • MetaMask:支持以太坊和许多 EVM 兼容链,现在通过“Snaps”(类似于钱包的扩展)也支持 Solana
  • Phantom:最受欢迎的 Solana 钱包,也支持一些 EVM 链
EVM 特定钱包:
  • Rabby:一个具有高级功能的新选项,适合有经验的用户
Solana(SVM)钱包:
  • Solflare:另一个备受好评的 Solana 钱包,具有广泛的功能

第二步:理解区块浏览器

区块浏览器就像区块链世界的搜索引擎。它们允许你查看所有交易、智能合约和其他链上活动。熟悉这些工具对于开发和故障排除至关重要。

  • Etherscan 用于以太坊和其他 EVM 兼容链:交易历史、智能合约验证、Gas 追踪器
  • Solana Explorer 用于 Solana:实时交易查看、程序(智能合约)检查

在你花一些时间浏览这些网站后,你至少应该知道以下内容:

  • 如何使用交易哈希或钱包地址查找交易
  • 如何阅读基本的交易详情(发送者、接收者、金额、状态、Gas 费用)
  • 如何识别和理解交易中的代币转移

通过在以下选项卡之间进行选择,测试你的以太坊或 Solana 区块浏览器知识。

  • 以太坊
  • Solana

🧠知识检查

查找以太坊主网上的区块号 20736082 并提供其区块哈希

0x5038e109f93a660cddf37f5412092461c97e4f019f2650619379b727c0c9f3d00xd777d214367a34b82140b900662b5af78924c5dfb9c02532a2751d62c684f4950x4f23b15d92bb220775e73d4043b59ab3c5e699cf6b5b029bce17b1560ed660840xa78e4a5649e6e1ebf6e3a36d2529f90eb9c216627f8af80133af62dffc3165f2

🧠知识检查

查找 Solana 主网上的插槽号 289394118(https://explorer.solana.com/)并提供其哈希

D213RnsVXyaypeEA7NNMepmhqgkgA83DFBxmtWQYYXhjEdjcADiM7etS1FZ64siRvPXnVxYAZEEqApRNw1p6vWrx3FaRS2tVCk1VuVhq9rsQMN27KZMjWvLzct1A9V9k8n3MDCZtuxssbXUDhfSgLqEBDaBxSkKBsjKnzwJYdhVRJ55D

第三步:获取代币

在区块链网络中,代币的作用不仅仅是作为一种数字货币。它们用于支付网络上的计算和存储成本。以下是你需要了解的内容:

  • 代币的用途:区块链上的代币类似于游戏或 SaaS 平台中的积分。就像你可能使用积分来解锁功能、购买物品或执行操作一样,代币用于在与区块链交互时访问和支付网络资源——例如部署智能合约或发送交易。
  • Gas 费用:在许多区块链网络中,尤其是以太坊和 EVM 兼容链,计算成本通常被称为“Gas 费用”。你的操作越复杂,所需的“Gas”(因此,更多的代币)就越多。
  • 存储成本:一些区块链,如 Solana,也有明确的存储成本。当你将数据存储在区块链上时,你需要使用代币支付该存储费用。
  • 网络拥堵:这些操作的代币成本可能会根据网络使用情况而波动。在繁忙时段,成本可能会显著增加。

你需要的代币类型取决于你使用的区块链和开发环境:

  • 如果你在公共测试网上工作,你将需要测试网代币。这些代币允许你与测试网交互,而无需使用真实的加密货币,从而可以安全地进行实验和学习。你可以使用 QuickNode 的多链水龙头 获取各种区块链网络的测试代币。但是,请注意使用水龙头有一些先决条件(例如拥有少量真实资金),这是为了防止我们被垃圾邮件攻击,你可能会在其他水龙头上看到类似/可比的要求。你也可以通过 Google 找到其他水龙头,这些水龙头可能有较少的获取代币的要求。
  • 如果你在本地机器上进行测试,这是隔离的,只有你可以访问,你不需要从外部来源获取测试网代币。你使用的智能合约开发工具和框架(如以太坊的 Hardhat、Truffle 或 Foundry,或 Solana 的 Anchor)将自动为你提供模拟代币。这些本地环境带有预资助的账户,使得部署和与智能合约交互变得容易,而无需外部代币。

开发者通常从本地开发开始进行初始测试,然后在准备主网部署时转向测试网。

第四步:连接到区块链

设置对区块链节点的访问权限。要与任何区块链交互,你需要访问一个节点。你有两个选择:

  • 运行你自己的节点:这让你拥有完全的控制权,但需要技术知识和资源来维护。我们有几个关于运行自己节点的教程,你可以在这里查看 这里
  • 使用节点提供商:像 QuickNode 这样的服务提供对 40 多条链的轻松访问。QuickNode 通过其市场提供 RPC 端点和额外的开发工具,其中包括各种插件以增强你的开发体验。使用像 QuickNode 这样的节点提供商可以显著简化你的开发过程,尤其是当你使用多条链或需要高级功能时。它让你专注于构建你的 dApp,而不是维护基础设施。如果你还没有 QuickNode 账户,你可以免费创建一个 这里

(可选)交互式 RPC 测试

一旦你设置了 RPC 端点,测试它以确保一切正常工作是至关重要的。以下是一些测试连接的方法。如果你还没有设置 RPC,不用担心!将此指南加入书签,等你准备好后再回来。

如果你已经设置了 RPC,让我们做一个快速测试!打开你的终端并运行以下 curl 命令(将 YOUR_RPC_URL 替换为你的实际 RPC URL,无论是 EVM 链(以太坊)还是 SVM(Solana))。

  • 以太坊
  • Solana
curl -X POST YOUR_ETHEREUM_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

eth_blockNumber 文档

curl -X POST YOUR_SOLANA_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","id":1,"method":"getBlockHeight"}'

getBlockHeight 文档

然后按键盘上的 Enter 键。如果成功,你应该会看到一个包含最新区块号的响应。

第五步:智能合约和程序开发

现在你已经设置好了加密钱包,对区块浏览器有了更多的经验,有了 RPC 连接(无论是自己运行还是使用 QuickNode),以及测试网代币(可选)。是时候学习下一步了。

根据你对 EVM(以太坊虚拟机)或 SVM(Solana 虚拟机)开发的兴趣,选择你的开发路径。

EVM 开发路径

开始使用 EVM

这适用于使用以太坊虚拟机的链,如以太坊,以及其他 EVM 兼容链,如 Base、Optimism、Polygon、Arbitrum 等。

中级 EVM 开发

接下来,随着你在 EVM

  • 原文链接: quicknode.com/guides/web...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。