zzz6519003 / blog

My blog about coding
4 stars 1 forks source link

RPC #162

Open zzz6519003 opened 3 months ago

zzz6519003 commented 3 months ago

Alchemy 和 Infura 都是 RPC 节点服务提供商,为开发者提供了访问以太坊和其他区块链网络的能力,无需自己维护节点。这两家公司都是为了帮助开发者简化区块链开发过程而设立的,它们提供了一种方便的方式来与区块链进行交互,而无需自己搭建和维护节点。

Infura 是由 ConsenSys 开发的,提供了对以太坊、IPFS 和其他网络的访问,减少了开发者自己安装、配置和运行节点的需求。Infura 提供了可扩展的 API、实时分析和用户友好的仪表板。它的一个主要优点是其强大的架构,使其能够处理大量请求而不会出现拥塞。然而,Infura 的一个缺点是它可能会变得昂贵,即使在免费计划上,也需要提供信用卡详情才能连接到 Optimism 和 Arbitrum 12345。 Alchemy 是一个区块链扩展平台,允许开发者安全地创建、测试和监控他们的去中心化应用(DApps)。它提供了可靠的网络连接和节点管理端点,并且提供了一些额外的功能,如 Notify,允许开发者根据区块链活动发送实时推送通知给用户,以及 NFT API,提供了一套服务,允许你即时找到、验证和显示任何跨多个区块链的 NFT 234。 选择 Infura 还是 Alchemy 主要取决于特定项目的需求、预算和开发者的偏好。Alchemy 通常被推荐,因为它提供了更完整的免费使用层次,并且被认为是一个可靠、无忧的解决方案,用于连接 web3 前端和部署合约 12345

zzz6519003 commented 3 months ago

Ponder 是一个强大的工具,它允许开发者快速构建并部署一个 API,该 API 可以从任何 EVM 区块链上的智能合约中提供自定义数据。它的设计目标是为应用开发者提供一个熟悉的开发环境,使得他们能够在几分钟内就能开始使用 Ponder。Ponder 的性能优势在于它的快速和高效,在初始基准测试中,Ponder 的索引速度比 Graph Protocol 子图(subgraphs)快 10-15 倍。此外,Ponder 是 MIT 许可的,自第一次提交以来就一直是开源的。

Ponder 专为应用开发者构建,它避免了许多区块链索引工具强迫开发者离开标准开发实践,如 git 工作流、本地开发和无服务器式部署。如果你熟悉以太坊的基础知识并且能够编写一些 TypeScript,你将能够在几分钟内就能开始使用 Ponder。Ponder 支持本地开发,提供了热重载功能,并且具有详细的错误日志,这有助于减少开发者的阻碍。

Ponder 的一个重要特点是它的性能。在初始基准测试中,Ponder 的索引速度比 Graph Node 从冷启动时快 10 倍,完全缓存后快 15 倍。这使得 Ponder 在处理区块链数据时具有显著的优势。

Ponder 还计划引入通知和警报、副作用(例如调用 Stripe API)、自动化交易、身份验证、端到端测试等模式。这些功能将使 Ponder 成为一个强大的工具,开发者可以使用它来解决他们自己独特的问题,而不仅仅是为常见场景提供解决方案。

总的来说,Ponder 是一个为应用开发者设计的强大工具,它提供了一个快速、高效且易于使用的环境,使得开发者能够快速构建和部署基于区块链的应用程序。

zzz6519003 commented 3 months ago

Graph 是一个去中心化的协议,用于索引和查询区块链的数据。它通过一个去中心化的协议解决了区块链数据编制索引的难题,使得查询那些难以直接查询的数据成为可能。例如,对于像 Uniswap 这样具有复杂智能合约的项目,以及像 Bored Ape Yacht Club 这样的 NFTs 倡议,它们在以太坊区块链上存储数据,直接从区块链上读取基本数据是困难的。为了获得这些数据,开发者必须处理曾经发出的每一个传输事件,使用 Token ID 和 IPFS 的 hash 值从 IPFS 读取元数据,然后将其汇总。这种过程在浏览器中运行的去中心化应用程序(dapp)中需要几个小时甚至几天才能得到答案。Graph 通过一个去中心化的协议解决了这一问题,该协议可以对区块链数据进行索引并实现高性能和高效率的查询。这些 API(索引的 "子图")然后可以用标准的 GraphQL API 进行查询 5

Graph 基于子图描述(称为子图清单)学习如何索引以太坊数据。子图描述定义了子图感兴趣的智能合约、要注意的合约中的事件,以及如何将事件数据映射到 Graph 将存储在其数据库中的数据。一旦编写了子图清单,就可以使用 Graph CLI 将定义存储在 IPFS 中,并告诉索引人开始为该子图的数据编制索引。Graph 节点不断扫描以太坊的新区块和它们可能包含的子图的数据。Graph 节点在这些区块中为你的子图找到以太坊事件并运行你提供的映射处理程序。映射是一个 WASM 模块,它创建或更新 Graph 节点存储的数据实体,以响应以太坊事件。去中心化的应用程序使用 Graph 节点的 GraphQL 端点,从区块链的索引中查询 Graph 节点的数据。Graph 节点反过来将 GraphQL 查询转化为对其底层数据存储的查询,以便利用存储的索引功能来获取这些数据 5