你是否渴望加入 Web3 项目的构建行列? 这份指南将为你概述当前最受欢迎的底层技术和开发环境。
众所周知,围绕 Web3 的讨论热度居高不下。 许多人选择离开他们在知名科技公司的工作岗位,转而投身于 Web3 的全新领域,寻求新的发展机遇。
如果你也有类似的想法,想要踏入 Web3 的世界,那么从哪里开始呢? 本文专门为那些希望直接参与 Web3 开发的人员而准备。 我们将重点介绍各个关键领域,并提供有价值的资源,帮助你开启 Web3 开发之旅。
为了方便查阅,我们将这些资源划分为不同的部分。
主要包括以下几个方面:
- 底层技术:开发中最常用的区块链平台。
- 开发环境:辅助你将应用程序部署到这些底层技术的工具。
- 身份验证:如何围绕钱包身份构建应用,以及如何使用加密登录。
- 存储方案:利用 P2P 技术创建永久数据存储。
- API接口:直接访问主网络以检索信息。
- 前端框架:流行的前端开发框架。
“技术栈”指的是为实现特定目标而组合使用的特定技术集合。 无论是全栈开发,还是我们这里提到的 Web3 技术栈,都属于这个概念。 值得注意的是,构建 Web3 应用程序和产品所涉及的技术仍然处于快速发展阶段。
从某种意义上说,随着越来越多的人开始在区块链上构建软件,许多事情都在快速变化。 因此,我们提供这份参考的目的是列出已经在实际项目中应用过的资源。
如果这正是你所需要的,那么我们现在就开始吧。
底层技术
任何 Web3 项目的基石都是底层技术,也就是你的应用程序或产品所运行的特定区块链网络。
1. 以太坊
以太坊 因其原生智能合约功能而备受青睐。
从那时起,开发者将其视为构建下一代 Web3 应用程序的首选区块链底层。 它也是众多 NFT 项目的首选平台。 因此,如果你想开发与 NFT 相关的应用,以太坊可以提供许多开箱即用的功能。
2. Polygon
Polygon 作为以太坊的侧链,在保持较低交易(gas)费用的同时,提供了更高级的安全机制。 对于交易数量巨大但交易成本较低的项目来说,这是一个颇受欢迎的选择。
由于 Polygon 是一个侧链,因此通常也被称为 Layer 2 区块链。 然而,Polygon 的快速发展使其成为 NFT 应用以及 dApp 和支付系统的热门选择。
其他值得关注的 Web3 底层技术:
- Solana: 专为大规模构建 DeFi 应用程序而设计的区块链。
- NEAR 协议: 拥有丰富开发者资源的智能合约区块链。
- Polkadot: 用于构建治理项目的跨区块链协议。
- Tezos: 一个专注于能源效率的平台,用于构建去中心化的创意平台。
- Fantom: 用于构建 dApp 的开源智能合约平台。
开发环境
开发环境可以帮助你跳过“从零开始”的繁琐过程。 目前,这些环境大多基于以太坊。
1. Hardhat
Hardhat 是专为以太坊开发者打造的开发环境。 它的主要作用是帮助开发者自动化构建和组合去中心化应用程序以及智能合约的过程。 它之所以受欢迎,是因为它内置了 Hardhat 网络,这是一个以太坊网络的精确副本,你可以在本地使用它来测试你的应用程序。
2. Truffle
Truffle 是一个基于 JavaScript 的智能合约构建框架。 它假设你使用 EVM(以太坊虚拟机),为你提供了加速开发过程的各种工具。 其中包括自动化测试、合约编译器,以及可以直接从控制台访问合约的工具。
其他值得关注的 Web3 开发环境:
- Foundry: 基于 Rust 的工具包,用于在以太坊上构建应用程序。
- Brownie: 基于 Python 的框架,用于构建和测试智能合约。
- Anchor: 一个与 Solana 一起使用的框架,用 Rust 编写。
- Embark: 构建在以太坊之上的多合一框架。
- Waffle: 用于测试智能合约的定制框架。
身份验证
与传统的用户名和密码验证不同,在 Web3 中,开发者可以使用钱包或公钥来进行身份验证。
1. WalletConnect
WalletConnect 是一种开源协议,用于通过移动钱包连接到 dApp。 使用 WalletConnect 的主要方法是扫描二维码,然后用户可以使用它来验证身份并批准与 Web3 应用程序的新连接。
如果你了解像 Pillar 或 MetaMask 这样的钱包,它们都直接与 WalletConnect 集成。 这也意味着你可以获得大量的开发者资源。 最后但同样重要的是,该协议适用于所有主要的区块链,并且还在不断增加对更多链的支持。
2. Spruce
Spruce 是一家 Y Combinator 支持 的初创公司,致力于将去中心化身份的概念带到区块链之外的领域。 该工具包旨在帮助用户通过各种媒介验证其数字身份,包括社交媒体、个人网站和区块链网络。
存储方案
如何在 Web3 上存储媒体(视频、照片等)? 这通常是通过 P2P 文件存储协议实现的。
1. IPFS
IPFS 是世界领先的 P2P(点对点)存储协议。 将文件上传到 IPFS 后,该文件会被调整大小,通过自定义哈希进行保护,并分配一个指纹作为其唯一标识符。
之后,属于该网络的其他节点(系统或人员)可以访问该文件,对其进行验证,并将其存储在其缓存中。 缓存后,任何具有正确访问方式的人都可以访问该文件。
IPFS 的最终目标不仅仅是提供去中心化的存储系统,还要确保内容的跨度是几十年而不是几年。 例如,一个网站在一段时间后消失了,它的所有内容,包括媒体,都会丢失。 IPFS 提供了一个真正的解决方案。
2. Skynet
Skynet 使用 Sia(去中心化)云网络提供便捷的文件共享。 你实际上可以直接从主页使用它。 只需上传一个文件,你就会得到一个链接。 除非你注册 API 密钥,否则链接会持续 90 天。 然而,在开发环境中,Skynet 使你能够轻松地在自己的去中心化应用程序中复用相同的用例。
3. Filebase
Filebase 是一家 SaaS 初创公司,提供与 Amazon S3 API 的直接连接。 你可以使用此 API 从 S3 存储桶中获取数据,然后将它们重新分配到各种去中心化存储选项中。
目前,Filebase 支持基于 Web3 的存储选项,如 Skynet、IPFS、Sia 和 Storj 等。 对于开发者来说,这意味着你可以简化为客户提供去中心化文件存储服务的过程。
作为新用户,你还可以免费获得 5GB 的存储空间,即使是付费计划的定价也很合理。
其他值得关注的 Web3 存储解决方案:
- Arweave:Arweave 是一种协议,允许你通过一次性预付费用永久且可持续地存储数据。
- Filecoin:在去中心化云环境中存储任何类型的媒体。
- Swarm:一个由以太坊智能合约激励的自我维持的 P2P 存储节点。
- Aleph:构建 dApp,让 Aleph 为你管理基于云的存储。
API 接口
与传统的基于数据库的技术栈不同,开发者使用 API 与区块链进行交互,并在其上请求或存储数据。 API 有时也被称为客户端。
1. The Graph
The Graph 是一个用于连接各种区块链的一体化 API 解决方案。 此 API 的目标是帮助开发者访问原本需要构建独立算法才能获取的数据。 例如,区块链中的数据点从简单的地址到基于智能合约的复杂交易都可能存在。
一个相关的例子是追踪 NFT 的历史。
虽然个人的购买历史可能很容易追踪,但当你尝试了解不同购买之间的关联时,它会变得越来越复杂。 在这种情况下,Graph API 提供了预制调用和索引目录,可以帮助你快速可视化特定用例。
2. Web3.js
Web3.js 是最流行的直接与以太坊交互的 JavaScript API。 它主要用于开发与以太坊链交互的客户端应用程序。 Web3.js 中包含的子库集合提供了转账、智能合约管理等功能。
3. Alchemy
Alchemy 迅速崛起成为最受尊敬的 Web3 平台之一。 他们的方法是教育开发者如何快速构建和扩展 Web3 应用程序。 他们通过提供复杂的区块链 API 和一套开发工具来实现这一点。
4. useDApp
useDApp 是一个基于 React 的框架,用于与以太坊区块链进行交互。 它由 React.js、Ethers.js 库、Waffle 和 Web-3 React 组件组成。 它通常用于构建易于访问的网站前端,可以根据你的项目需求显示各种数据查询。
前端框架
开发者使用什么框架来构建 Web3 项目的前端界面?
1. React
React 的受欢迎程度是无与伦比的。 因此,它也是最流行的 Web3 站点前端库就不足为奇了。 组件驱动的架构意味着开发者可以在前端的多个部分上同时工作,而不会影响核心设计。
你可以查看 GitHub 上的 Web3-React 库,它是一个很好的起点。
2. Next.js
Next.js 可以说是 React 的继任者,尽管它们并非直接关联。 大型 Web3 项目需要大量的资源管理。 Next.js 捆绑了用于静态和动态项目的本地工具,已被 Binance、Bitscreener、Hashnode 等公司使用。
要快速入门,请查看 Next Web3 样板。
Web3 开发入门
有很多东西需要学习,尤其是如果你是刚刚入门。 事实上,这个领域的变化非常快。 尽管最初的项目大多与 NFT 相关,但如今,人们更加重视去中心化网络和单一区块链平台。
关于如何开始 Web3 项目,本指南应该足够了。 我还建议你在 Twitter 和 Discord 上保持活跃,因为它们是了解最新 Web3 趋势的两个最活跃的社区。