Web3 堆栈:开发人员参考
已发表: 2022-04-11您想参与构建 Web3 项目吗? 本参考资料将概述最流行的层和开发环境。
众所周知,现在围绕这个主题(Web3)有很多讨论。 许多人离开了他们在 FAANG 和知名初创公司的工作,开始在 Web3 元宇宙中寻求新的开始。
而且,假设你也有类似的痒感——你从哪里开始? 本文完全献给那些希望直接进入 Web3 开发的人。 我们的重点将放在各种类别上,每个类别都包含有价值的资源,可以帮助您开始旅程。
为了使该参考资料易于访问,我将资源分成单独的部分。
这些部分是:
- 层。 开发中使用的最流行的区块链。
- 开发环境。 帮助您部署到这些层的工具。
- 身份。 如何围绕钱包身份构建并使用加密登录。
- 贮存。 使用 P2P 技术创建永久数据存储。
- API。 直接访问主要网络以提取信息。
- 前端。 流行的前端框架。
堆栈是一个术语,用于定义用于实现特定目标的特定技术组合。 无论是全栈开发,还是本例中的 Web3 堆栈。 值得注意的是,构建 Web3 应用程序和产品所涉及的技术相当“不稳定”。
从某种意义上说,随着越来越多的人习惯于在区块链上构建软件,很多事情都在发生变化。 因此,我们提供此参考的目标是提及已在实际项目中使用的资源。
如果这一切听起来不错,我们就可以开始了。
图层
任何 Web3 项目的基础都始于层。 您的应用程序或产品将在其上运行的特定区块链网络。
#1。 以太坊
以太坊因其原生的智能合约主张而广受欢迎。
从那时起,开发人员将其作为构建下一代 Web3 应用程序的首选区块链层。 它也是许多 NFT 项目的首选层,所以如果你想开发与 NFT 相关的应用程序,以太坊可以提供很多开箱即用的功能。
#2。 多边形
Polygon 层是以太坊侧链,提供更复杂的安全实践,同时保持较低的交易( gas )费用。 对于交易数量极高但交易价格低廉的项目来说,这是一个受欢迎的选择。
由于 Polygon 是侧链,因此也常被称为 Layer 2 区块链。 然而,Polygon 的快速发展使其成为 NFT 应用以及 dApp 和支付系统的热门选择。
其他值得注意的 Web3 层:
- 索拉纳。 为大规模构建 DeFi 应用程序而构建的区块链。
- NEAR 协议。 拥有大量开发人员资源的智能合约区块链。
- 波尔卡圆点。 用于构建治理项目的跨区块链协议。
- 特所思。 一个专注于能源的平台,用于构建去中心化的创意平台。
- 幻想。 用于构建 dApp 的开源智能合约平台。
开发环境
开发环境可以让您跳过整个“从头开始”部分。 这些暂时主要是基于以太坊的。
#1。 安全帽
Hardhat 是以太坊开发者的开发环境。 它的工作原理是帮助开发人员自动化构建和组合分散式应用程序以及智能合约的过程。 它的流行源于内置的安全帽网络,这是以太坊网络的一对一副本,您可以使用它在本地测试您的应用程序。
#2。 松露
Truffle 是一个基于 JavaScript 的框架,用于构建智能合约。 它假设您使用 EVM(以太坊虚拟机),为您提供加速开发过程的工具。 其中一些工具包括自动化测试、合同编译器和直接从控制台访问您的联系人的单独工具。
其他值得注意的 Web3 开发环境:
- 铸造厂。 基于 Rust 的工具包,用于在以太坊上构建应用程序。
- 布朗尼。 用于构建和测试智能合约的基于 Python 的框架。
- 锚。 一个与 Solana 一起工作的框架,用 Rust 编写。
- 上船。 建立在以太坊之上的多合一框架。
- 胡扯。 用于测试智能合约的定制框架。
身份
与传统的用户名和密码认证不同,在 Web3 中,开发人员既可以使用钱包,也可以使用公钥。
#1。 钱包连接
WalletConnect 是一种开源协议,用于通过移动钱包连接到 dApp。 使用 WalletConnect 的主要概念是扫描二维码,然后用户可以使用它来验证他们的身份并批准与 Web3 应用程序的新连接。
如果你知道像 Pillar 或 MetaMask 这样的钱包——它们都直接与 WalletConnect 集成。 这也意味着您可以访问大量的开发人员资源。 最后但并非最不重要的一点是,该协议适用于所有主要区块链,并且经常添加更多链。
#2。 云杉
Spruce 是一家由 Y Combinator 支持的初创公司,旨在将去中心化身份的概念带到区块链之外的领域。 该工具包旨在帮助用户通过各种媒体验证他们的数字身份:社交媒体、个人网站和区块链网络。
贮存
您如何在 Web3 上存储媒体(视频、照片等)? 这主要是使用 P2P 文件存储协议完成的。
#1。 IPFS
IPFS 是世界领先的 P2P(点对点)存储协议。 将文件上传到 IPFS 后,该文件会被调整大小,通过自定义哈希进行保护,并分配一个指纹作为其唯一标识符。
之后,属于该网络的其他节点(系统或人员)可以访问该文件,对其进行验证,并将其存储在其缓存中。 缓存后,任何具有正确访问方法的人都可以访问该文件。
最终,IPFS 的目标不仅仅是提供去中心化的存储系统。 但也要确保内容的跨度是几十年而不是几年。 例如,一个网站在一段时间后消失了,它的所有内容,包括媒体,都丢失了。 IPFS 提供了一个真正的解决方案。
#2。 天网
Skynet 使用 Sia(分散式)云网络提供可访问的文件共享。 您实际上可以直接从主页使用它。 只需上传一个文件,您就会得到一个链接。 除非您注册 API 密钥,否则它会持续 90 天。 不过,在开发环境中,天网使您可以轻松地在您自己的去中心化应用程序中复制相同的用例。
#2。 文件库
Filebase 是一家 SaaS 初创公司,提供与 Amazon S3 API 的直接链接。 您可以使用此 API 从您的 S3 存储桶中获取数据,然后将它们重新分配到各种去中心化存储选项中。
目前,Filebase 支持基于 Web3 的存储选项,如 Skynet、IPFS、Sia 和 Storj 等。 作为开发人员,这意味着您可以简化为客户提供去中心化文件存储服务的过程。
作为新用户,您还可以免费获得 5GB 的存储空间,尽管即使是付费计划的定价也是合理的。
其他值得注意的 Web3 存储解决方案:
- 编织。 Arweave 是一种协议,可让您通过单一的预付费用永久且可持续地存储数据。
- 文件币。 将任何类型的媒体存储在分散的云环境中。
- 一群。 一个由以太坊智能合约激励的自我维持的 P2P 存储节点。
- 阿莱夫。 构建 dApp 并让 Aleph 为您管理基于云的存储。
API
与传统的基于数据库的堆栈不同,开发人员使用 API 与区块链交互并在其上请求或存储数据。 API 有时也称为Clients 。
#1。 图表
The Graph 是一个用于连接各种区块链的一体化 API 解决方案。 此 API 的目标是帮助开发人员访问原本需要构建单独算法的数据。 例如,区块链中的数据点源于简单的地址,以基于智能合约的复杂交易。
这方面的一个例子是跟踪 NFT 的历史。
虽然个人购买历史可能很容易追踪,但当您尝试了解与不同购买的关系时,它会变得越来越困难。 在这种情况下,Graph API 提供了预制调用和索引目录,以帮助您快速可视化特定用例。
#2。 Web3.js
Web3.js 是最流行的与以太坊直接交互的 JavaScript API。 它主要用于开发与以太坊链交互的客户端应用程序。 Web3.js 中包含的子库集合提供了转账、智能合约管理等功能。
#3。 炼金术
Alchemy 迅速崛起,成为最受尊敬的 Web3 平台之一。 他们的方法是教育开发人员如何快速构建和扩展 Web3 应用程序。 他们能够通过提供复杂的区块链 API 和一组开发工具来做到这一点。
#4。 使用DApp
useDApp 是一个基于 React 的框架,用于与以太坊区块链进行交互。 它由 React.js、Ethers.js 库、Waffle 和 Web-3 React 组件组成。 它通常用于构建易于访问的网站前端,可以根据您的项目需求显示各种数据查询。
前端
开发人员使用什么样的框架来构建 Web3 项目的前端界面?
#1。 反应
React 的受欢迎程度是无与伦比的。 得知它也是最流行的 Web3 站点前端库也就不足为奇了。 组件驱动的架构意味着开发人员可以在前端的多个部分上工作,而不会干扰核心设计。
您可以查看 GitHub 上的 Web3-React 库以获得可靠的起点。
#2。 下一个
Next.js 是 React 的继承者,尽管两者都没有直接关联。 大型 Web3 项目需要大量资源管理,Next.js 捆绑了用于静态和动态项目的本地工具,并被 Binance、Bitscreener、Hashnode 等公司使用。
如需快速入门,请查看 Next Web3 Boilerplate。
Web3 开发入门
有很多东西需要吸收,特别是如果你现在才开始。 事实上,这个领域的变化非常快。 尽管最初的项目都与 NFT 相关,但如今,人们更加重视去中心化网络和单个区块链平台。
就 Web3 项目的入门而言,这个参考应该足够了。 我还建议在 Twitter 和 Discord 上保持循环,因为它们是跟上最新 Web3 趋势的两个最活跃的社区。