Web3:我应该使用 Infura / Alchemy 还是运行节点?

Web3:我应该使用 Infura / Alchemy 还是运行节点?-1

Web3 快速回顾

除非你一直生活在一块石头下,否则你会通过博客文章、新闻文章或其他一些来源遇到 Web3 一词。相信我,Web3 一直在震撼当今的互联网。

Web3 是无服务器互联网、去中心化网络愿景的巅峰之作。一个用户可以控制自己的数据、身份和命运的互联网。

Web3 堆栈看起来像这样

  • 网络层——又名区块链,后端
  • 交互层——又名节点提供者,区块链世界的 AWS
  • 去中心化应用程序——访问 Web 3.0 的客户界面,即“应用程序”

本文重点介绍交互层。原因:因为你刚开始 Web3 开发周期,你需要知道为什么第 2 层很重要、谁提供该服务、我是否需要它等

有两种方法可以使用交互层:

  1. 使用第三方服务提供商:例如:Infura、Alchemy、QuickNode 或
  2. 运行你自己的节点客户端:例如,Geth

正如你已经猜到的那样,这两种选择各有利弊。90% 的 dapp 开发使用选项 2;但对这个主题没有太多分析。

本文的目的是让你了解利弊,然后帮助你做出决定是随波逐流还是摆脱困境。

选项 1:使用节点服务提供者

  • 顾名思义,节点服务提供者在幕后为你运行节点客户端,因此你不必这样做。然后,它的每个客户端都可以参与“使用”该节点(显然,它是共享的)。听说过规模经济??,是的,这就是现在在这里发挥作用的东西。
  • 这些服务提供者通常会提供一个 API 密钥,你可以使用它与节点进行通信。是的,你provider.getBalance(0x)和其他人都来这里。
  • 使用这些节点通常是通过他们的 SDK 即插即用
  • 有各种节点提供商,如 Alchemy、Infura、QuickNode 提供这些服务。

为了更好地理解它,下表包含一些最受欢迎的节点提供商及其功能。

Web3:我应该使用 Infura / Alchemy 还是运行节点?-2节点服务提供商

有关更多信息,请查看此页面

使用上述服务提供商的优点

  1. 使用方便; 只需使用他们自己的 SDK 或其他 Web3 JS 库即插即用
  2. 即时可用性
  3. 可用的备份选项(如果一个节点出现故障,另一个节点会出现)
  4. 提供技术支持团队
  5. 无需维护节点软件;与节点相关的风险
  6. 细分成本法{稍后会详细介绍}

缺点

  1. 第三方依赖(这与区块链精神完全相反)
  2. 成本(可能是,可能不是?)

选项 2:运行你自己的节点。

通过运行我们自己的节点,我们的意思是你的服务器存储了整个区块链。你可以选择你的节点是否应在将每个数据块添加到区块链之前对其进行验证(是的,我们谈论的是挖矿,当涉及到以太坊区块链时的工作证明)。

虽然,运行自己的节点可以被认为是一种很好的做法,但不推荐,因为它的成本和安装过程所花费的时间。

  • 节点同步可能需要大约一两个月的时间 来下载整个区块链
  • 节点同步可能需要数周时间

互联网上有多个客户端,允许你基于 Go、Rust、Typescript 等各种编程语言运行自己的 Node。

一些客户端示例

Web3:我应该使用 Infura / Alchemy 还是运行节点?-3以太坊节点客户端

使用上述服务提供商的优点

  1. 你是自己命运的主人。没有更多,API 密钥,没有更多的购买计划,API 调用限制等

缺点

  1. 费用
  2. 维护

让我们谈谈成本(财务成本和时间成本)

使用第三方服务提供商的费用

Infura 和 Alchemy 等提供商提供免费套餐来使用他们的服务。显然,在“免费套餐”下可以进行的 API 调用数量是有限制的。目前,Infura 免费层每天允许 100,000 个请求,而 Alchemy 允许 3 亿个请求。

当然,上述数字都不是小数字,应该是做任何形式的初级开发;测试;教程等。但是,一旦你使用 DAPP,它很容易突破上述限制,你将面临来自 Infura / Alchemy 的成本。

根据最近的一些记录,平均而言,Uniswap发送约3000 万个请求Akropolis发送200 万个请求,而Sushiswap 每天发送约2500 万个请求

现在涉及到很多结构。例如,如果我们正在设计一个 DAPP,我们不会公开我们的 API 端点,因此,当我们的用户连接到我们的 DAPP 时,他们的钱包会连接到服务提供商。因此,不要马上担心上述数字。

但是,平均而言,我们见证了如果你维护一个后端来分析你的智能合约数据、性能和各种其他因素,你肯定会看到每月约 200 美元的成本

运行自己的节点的成本

方面 1:财务(易于衡量的因素)

运行你自己的节点的硬件要求:

  • 至少 2TB 的 SDD(是的,我们具有前瞻性并计划运行全节点)
  • 4GB 内存(哦,很常见,现在 2GB 内存不便宜)
  • 24*7 连接到互联网
  • 英特尔 NUC,第 7 代或更高版本(x86 处理器)

平均而言,根据上述要求,我们了解每月大约花费约600 美元

方面2:人力成本

通常需要你的一名工程师每天至少花费 30 分钟来监控节点的性能;我们也期待在这里和那里出现故障,因此需要更多的时间参与。这将使我们每月花费约 24 小时,即每月约 1,200 美元。

结论

运行我们自己的节点可能会花费你每年 22K 美元的估计成本,而使用第 3 方服务提供商的估计成本为 2,400 美元/年。

使用服务提供商可以简化流程并减少整个耗时的说明。尽管如此,可靠性和其他一些因素确实使运行你自己的节点的情况值得考虑。

给你现在你有优点和缺点。现在,世界上大多数 dapp 开发人员选择第三方服务提供商的原因可能已经很明显了。

但是,你需要了解这两种方法都各自发挥着重要作用,只有你才能确定哪种方法最适合你。

我们很想知道你的想法;我们愿意学习,因此如果你认为我们错过了什么;很高兴知道。

作者(欢迎反馈):

业余开发者帕里托马尔

 

内容搜集自网络,整理者:BTCover,如若侵权请联系站长,会尽快删除。

(0)
BTCover的头像BTCover
上一篇 9 4 月, 2022 2:51 下午
下一篇 9 4 月, 2022 2:50 下午

相关推荐