我们如何为市场合作伙伴代理RPC请求

  • QuickNode
  • 发布于 2024-04-01 10:23
  • 阅读 12

本文介绍了如何在使用QuickNode的JSON-RPC方法时创建和使用客户ID,以及请求/响应周期中的处理流程。

概述

如果你正在构建一个使用 JSON-RPC 方法的 QuickNode 插件,那么本指南就是为你准备的。在本文中,我们将介绍 QuickNode 如何创建和共享用于计费的标识符,以及我们如何在请求/响应周期中使用这些 ID 来处理来自你的插件的特定 RPC 方法。

理解 QuickNode ID

我们为 QuickNode 上的每个客户创建一个唯一的 ID,该 ID 采用 Sha256 哈希的形式。在插件配置过程中,我们会与你共享这个 ID,以便你可以存储哪些客户应该获得你提供的哪些服务。它会在配置、更新和取消配置的有效负载中传递,如 How Provisioning Works for Marketplace Partners 文章中讨论的那样。

该 ID 是客户唯一的,客户可能会安装多个你的插件,这些插件按账户计费。

请求/响应生命周期

为了方便你理解,我们创建了一个如下所示的图表,但当请求进入 QuickNode 基础设施时,我们以高层次的方式处理 RPC 插件:

  1. 客户发送带有 RPC 方法的请求。
  2. QuickNode 发送带有自定义标头的 JSON-RPC 请求,包含 quicknode id。
  3. 合作伙伴验证客户是否有权发出请求,处理请求并返回响应。
  4. QuickNode 将合作伙伴的响应打包到适当的插槽中返回给客户。

请求/响应市场周期

作为合作伙伴,你应该专注于确认插件对客户是否仍然有效,然后尽可能快地处理响应。如果你设置了插件计划的每秒请求限制(RPS 限制)和每月请求限制,QuickNode 将强制执行为客户设置的这些限制。

你设置的条件 QuickNode 的执行
同时设置了 RPS 和每月限制 强制执行这两个限制
仅设置了 RPS 限制 仅强制执行 RPS 限制
仅设置了每月请求限制 仅强制执行每月请求限制
未设置任何限制 不强制执行

考虑到这一点,我们将特别关注我们发送的自定义标头。

标头

每当我们向你的上游发送请求时,你绝对应该检查这个标头:

X-QUICKNODE-ID: 969d539bf782b561aeff148b2a94cc3705720f3d38e147e475912e53b4e96a85

注意 - 任何包含 X-QN-TESTING 的传入请求都来自 QuickNode 开发团队或测试工具。

该 ID 代表一个付费客户,你应该在我们发送配置请求时将其存储在数据库中。

我们还将发送一个 X-INSTANCE-ID 标头,代表端点的 ID。

你还可以在 X-QN-CHAIN 标头中期待一个链(以下之一):

algorand
aptos
arbitrum
arbitrum-nova
avalanche
base
bitcoin
bnb-smart-chain
celo
ethereum
fantom
flow
gnosis
harmony
near
optimistic-ethereum
optimistic-ethereum
palm
polkadot
polygon
polygon-zkevm
scroll
solana
stacks
stellar
tron
xrp-ledger
zksync

最后,我们还会在 X-QN-NETWORK 标头中发送网络(以下之一):

algorand-betanet
algorand-mainnet
algorand-testnet
aptos-mainnet
aptos-testnet
arbitrum-goerli
arbitrum-mainnet
arbitrum-testnet
avalanche-mainnet
avalanche-testnet
base-goerli
base-mainnet
base-sepolia
bsc
bsc-testnet
btc
btc-testnet
celo-mainnet
dot-mainnet
ethereum-goerli
fantom
flow-mainnet
flow-testnet
harmony-mainnet
harmony-testnet
kovan
mainnet
matic
matic-testnet
near-mainnet
near-testnet
nova-mainnet
optimism
optimism
optimism-goerli
optimism-kovan
optimism-sepolia
palm-mainnet
palm-testnet
rinkeby
ropsten
scroll-mainnet
scroll-testnet
solana-devnet
solana-mainnet
solana-testnet
stacks-mainnet
stacks-testnet
stellar-mainnet
stellar-testnet
tron-mainnet
xdai
xrp-mainnet
xrp-testnet
zkevm-mainnet
zkevm-testnet
zksync-mainnet
zksync-sepolia
zksync-testnet

就是这样!如果你有任何问题,请随时联系我们。

订阅我们的 newsletter 以获取更多关于 Web3 和区块链的文章和指南。如果你有任何问题或需要进一步的帮助,请随时加入我们的 Discord 服务器或使用下面的表单提供反馈。通过关注我们的 Twitter (@QuickNode) 和 Telegram 公告频道 了解最新动态。

我们 ❤️ 反馈!

让我们知道 如果你有任何反馈或新主题的请求。我们很乐意听取你的意见。

  • 原文链接: quicknode.com/guides/qui...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。