本文为Web3开发入门指南,详细介绍了从零开始学习Web3开发的步骤,包括区块链基础概念、开发环境搭建、智能合约开发、dApp构建等内容,并提供了丰富的学习资源。
将本指南作为你进入 Web3 开发的清单。我们不会涵盖如何构建项目的技术步骤,而是为你提供解释和资源,帮助你快速入门。
想成为一名 Web3 开发者吗?在本指南中,你将学习成为 Web3 开发者所需的步骤,无论你是从零开始还是从 Web2 转型,这份清单都能让你快速上手。让我们开始吧!
Web3 开发是构建运行在区块链网络(如以太坊、比特币和 Solana)上的应用程序的过程。与传统的 Web2 应用程序不同,Web2 应用程序依赖于由单一实体控制的中心化服务器和数据库,而 Web3 应用程序使用区块链技术将数据和控制权分配给众多用户。这种方法利用智能合约(区块链上的自执行代码)和去中心化存储来创建不需要信任中心化机构且对任何人开放查看、使用和构建的应用程序。
如果你是编程或 Web3 的新手,你需要掌握基础知识。查看以下资源,并花一些时间更好地理解它们,然后再继续前进。这些工具对 Web3 开发至关重要。
如果这些对你来说都是全新的,别担心。这些步骤将帮助你设置开始编码所需的基本工具,并引导你学习基础的网络技术。
在深入 Web3 开发的技术细节之前,理解 Web2 和 Web3 之间的核心差异至关重要。虽然有许多细微的差别,但有两个根本性的转变定义了 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(Solana 虚拟机) |
---|---|---|
使用方 | 以太坊和许多 EVM 兼容链 | Solana |
主要语言 | Solidity | Rust |
生态系统 | 庞大,广泛采用 | 增长中,专注于高性能 |
性能 | 中等交易速度,较高费用 | 高交易速度,较低费用 |
开发类比 | 类似于在 Windows 或 Mac 上开发 | 类似于为专门的高性能 Unix 系统开发 |
学习曲线 | 中等(Solidity 专为智能合约设计) | 中等(Rust 在区块链之外有更广泛的应用) |
智能合约功能 | 丰富的功能集,广泛支持的标准 | 增长中的功能集,优化性能 |
开发工具 | 广泛的工具和框架套件 | 开发中的工具集,专注于性能 |
就像开发者可能会根据项目需求选择不同的后端技术一样,区块链开发者根据具体需求和目标生态系统在 EVM 和 SVM(或其他区块链环境)之间进行选择。
虽然精通多个区块链环境是可能的,但通常从其中一个开始并建立专业知识,然后再扩展到其他环境是有益的。这种方法允许你在分支之前深入理解一个生态系统,类似于在掌握一种后端技术之后再学习另一种。
加密货币钱包有多种功能,其中一个主要功能是验证用户身份。
可以将其视为你在区块链世界中的银行账户和数字身份。通过将你的账户与公钥和私钥对关联(我们稍后会介绍),它允许你安全地访问你的区块链资产、锁定资源和执行交易。
为了理解钱包的底层工作原理,让我们为 EVM 和 SVM 兼容的区块链创建一个简单的“燃烧器钱包”。燃烧器钱包可以被视为临时、一次性使用的钱包,用于测试或与你可能不想使用主钱包的区块链应用程序交互。每条区块链使用不同的算法生成密钥对(例如,公钥和私钥),但过程基本相同。
点击“生成钱包”以创建一个 EVM 兼容的加密钱包。这将为你提供一个公钥地址和一个私钥,可用于测试目的。在生产环境中,你将使用钱包应用程序来安全管理这些信息。EVM 钱包通常使用一个 64 字符的十六进制私钥和一个以 '0x' 开头的 42 字符的公钥地址。
💼生成钱包
生成钱包
点击“创建新钱包”以创建一个 SVM 兼容的 Devnet 钱包。Solana 钱包使用一个 64 数字数组作为私钥和一个 base58 编码的字符串作为公钥。
🔑使用 Devnet SOL 生成新钱包
创建新钱包
这里的关键点是,虽然两个系统都使用公钥-私钥加密,但它们有不同的格式和略微不同的密钥创建/管理方法。
在深入了解流行的钱包选项之前,将加密货币钱包视为用户名和密码的加密版本是有帮助的。使用你的公钥(类似于用户名),你可以查看与你的账户相关的链上信息——例如余额、资产所有权、社区成员资格和交易历史。私钥(类似于你的密码)允许你对账户进行更改,例如发送资产或签署消息。
你通常认为的钱包实际上只是一个用户界面(UI),它显示你的代币余额和账户信息,并在幕后使用这些密钥。UI 获取有关你账户的相关详细信息,并提供按钮以轻松执行常见操作,例如发送或接收资产。
对于实际的开发和测试,以下是一些你可以选择的流行钱包。
区块浏览器就像区块链世界的搜索引擎。它们允许你查看所有交易、智能合约和其他链上活动。熟悉这些工具对于开发和故障排除至关重要。
在你花一些时间浏览这些网站后,你至少应该知道以下内容:
通过在以下选项卡之间进行选择,测试你的以太坊或 Solana 区块浏览器知识。
🧠知识检查
查找以太坊主网上的区块号 20736082 并提供其区块哈希
0x5038e109f93a660cddf37f5412092461c97e4f019f2650619379b727c0c9f3d00xd777d214367a34b82140b900662b5af78924c5dfb9c02532a2751d62c684f4950x4f23b15d92bb220775e73d4043b59ab3c5e699cf6b5b029bce17b1560ed660840xa78e4a5649e6e1ebf6e3a36d2529f90eb9c216627f8af80133af62dffc3165f2
🧠知识检查
查找 Solana 主网上的插槽号 289394118(https://explorer.solana.com/)并提供其哈希
D213RnsVXyaypeEA7NNMepmhqgkgA83DFBxmtWQYYXhjEdjcADiM7etS1FZ64siRvPXnVxYAZEEqApRNw1p6vWrx3FaRS2tVCk1VuVhq9rsQMN27KZMjWvLzct1A9V9k8n3MDCZtuxssbXUDhfSgLqEBDaBxSkKBsjKnzwJYdhVRJ55D
在区块链网络中,代币的作用不仅仅是作为一种数字货币。它们用于支付网络上的计算和存储成本。以下是你需要了解的内容:
你需要的代币类型取决于你使用的区块链和开发环境:
开发者通常从本地开发开始进行初始测试,然后在准备主网部署时转向测试网。
设置对区块链节点的访问权限。要与任何区块链交互,你需要访问一个节点。你有两个选择:
一旦你设置了 RPC 端点,测试它以确保一切正常工作是至关重要的。以下是一些测试连接的方法。如果你还没有设置 RPC,不用担心!将此指南加入书签,等你准备好后再回来。
如果你已经设置了 RPC,让我们做一个快速测试!打开你的终端并运行以下 curl 命令(将 YOUR_RPC_URL
替换为你的实际 RPC URL,无论是 EVM 链(以太坊)还是 SVM(Solana))。
curl -X POST YOUR_ETHEREUM_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
curl -X POST YOUR_SOLANA_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","id":1,"method":"getBlockHeight"}'
然后按键盘上的 Enter 键。如果成功,你应该会看到一个包含最新区块号的响应。
现在你已经设置好了加密钱包,对区块浏览器有了更多的经验,有了 RPC 连接(无论是自己运行还是使用 QuickNode),以及测试网代币(可选)。是时候学习下一步了。
根据你对 EVM(以太坊虚拟机)或 SVM(Solana 虚拟机)开发的兴趣,选择你的开发路径。
这适用于使用以太坊虚拟机的链,如以太坊,以及其他 EVM 兼容链,如 Base、Optimism、Polygon、Arbitrum 等。
接下来,随着你在 EVM
- 原文链接: quicknode.com/guides/web...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!