如何通过QuickNode控制台API管理你的RPC基础设施 - Quicknode

  • QuickNode
  • 发布于 2025-01-30 13:50
  • 阅读 14

本文介绍了如何利用QuickNode Console API来程序化管理QuickNode的端点,包括创建和更新端点、设置速率限制和监控使用情况等。文章详细描述了Console API的功能及其使用方法,为用户提供了在API使用过程中的认证、创建端点、更新速率限制等多种操作示例,是一篇具有实用价值的技术指南。

概述

在本指南中,我们将带你了解如何利用 QuickNode Console API 以编程方式管理你的 QuickNode 端点。我们将介绍如何创建和更新端点、设置基于方法和全局的速率限制,并通过监控使用情况来控制你的支出。

你将做什么

  • 使用 Console API 以编程方式管理你的 QuickNode 端点
  • 高效监控和控制你的支出和 API 使用

你将需要什么

Console API 对所有付费帐户开放。有关详细信息,请查看 定价

QuickNode Console API 简介

QuickNode Console API 提供对用户仪表板内所有操作的强大编程访问,使你能够更有效地管理基础设施、监控性能和控制成本。此 API 允许全面的端点管理、使用监控和安全配置。

为什么使用 Console API?

  • 完全控制:管理 QuickNode 设置的所有方面,而无需手动与用户仪表板交互。
  • 自动化:自动化端点创建、安全配置和速率限制调整。
  • 成本管理:实时监控你的使用情况和支出,使你能够设置警报,甚至在接近使用阈值时以编程方式禁用端点。
  • 增强监控:利用 Prometheus 构建自定义 Grafana 仪表板,以便更好地可见性。

QuickNode Console API 资源概述

以下是与 QuickNode 用户仪表板交互的所有 REST API 资源的摘要:

  • 账单:检索账单信息,包括发票和付款。
  • 区块链:获取所有 QuickNode 支持的区块链列表。
  • 端点:创建、检索、更新和存档 QuickNode 端点,以编程方式管理你的基础设施。
  • 端点指标:访问特定 QuickNode 端点在指定时间段内的详细指标,包括方法调用、响应状态、分类和最大响应时间。
  • 端点速率限制:更新特定 QuickNode 端点的速率限制。
  • 端点安全:管理安全设置,包括引荐人、Token、IP、域名掩码和 JWT 配置。
  • 使用情况:检索使用数据,包括指定时间范围内的总使用量,以及按端点、方法或区块链分组的使用数据。

有关详细的文档,请参考 我们的 Console API 文档

先决条件

QuickNode 帐户和 API 密钥

创建 API 密钥非常简单。如果你尚未注册并创建任何端点,可以在 这里 创建一个帐户。

要创建你的密钥,请登录到你的 QuickNode 帐户,点击左上角的头像图标,然后选择 API 密钥。这将带你到 API 密钥页面

生成具有适当权限的 API 密钥(你需要 CONSOLE_REST 才能使用 Console API),并确保将 API 密钥随身携带,你将需要它。

API Key

使用 Console API 管理端点

身份验证

要使用 Console API,你必须通过在 HTTP 头中包含 API 密钥来验证请求,如下所示:

curl -X GET 'https://api.quicknode.com/v0/usage/rpc' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

不要忘记在本指南共享的所有 cURL 命令中将 YOUR_API_KEY_HERE 部分更新为你自己的 API 密钥。

在创建或管理端点之前,重要的是使用 /chains 端点检索可用区块链网络的列表,因为你将需要此信息进行各种操作。

你可以使用我们的 Swagger 文档 探索所有端点详细信息和参数,以获得更多自定义选项。

检索支持的链和网络

要获取所有支持链及其网络的列表,请使用以下 cURL 命令:

curl -X GET 'https://api.quicknode.com/v0/chains' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

响应将为你提供每个链和网络的 slug 值,这些 slug 值将在创建或管理端点时使用。例如:

{
    "data": [\
        {\
            "slug": "linea",\
            "networks": [\
                {\
                    "slug": "linea-mainnet",\
                    "name": "Linea Mainnet"\
                }\
            ]\
        },\
        {\
            "slug": "avax",\
            "networks": [\
                {\
                    "slug": "avalanche-mainnet",\
                    "name": "Avalanche Mainnet"\
                }\
            ]\
        }\
    ]
}

创建端点

要创建一个新的端点,请使用 POST 方法。你需要指定从 /chains 端点检索到的 chainnetwork 值。

curl -X POST 'https://api.quicknode.com/v0/endpoints' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'
    --data '{
        "chain": "avax",
        "network": "avalanche-mainnet",
    }'

响应将包括新创建端点的详细信息,包括其 id,你将在进一步管理中使用它。

检索你的端点 ID

如果你已经有一个端点并需要找到其 id,可以通过两种方式进行:

使用 Console API

你可以使用以下命令列出与你的帐户关联的所有端点:

curl -X GET 'https://api.quicknode.com/v0/endpoints' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

响应将包括你所有的端点及其各自的 id 值。

使用 QuickNode 仪表板

  • 登录到你的 QuickNode 仪表板。
  • 导航到你所需端点的页面。
  • id 将在 URL 中显现,格式为:https://dashboard.quicknode.com/endpoints/{id}

检索端点详细信息

要获取特定端点的详细信息,请使用其 id

curl -X GET 'https://api.quicknode.com/v0/endpoints/{id}' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

不要忘记将 {id} 替换为你的端点 ID。

响应将提供关于你端点的详细信息,包括:

  • id:你端点的唯一标识符。
  • chainnetwork:你的端点连接的区块链网络。
  • http_urlwss_url:用于访问端点的 HTTP 和 WebSocket URL。
  • security:有关端点安全设置的信息,例如Token、引荐人、JWT、IP、域名掩码和其他安全措施是否已启用。
  • rate_limits:为端点设置的速率限制,包括 rps(每秒请求数)、rpm(每分钟请求数)、rpd(每天请求数)以及速率限制是否按 IP 施加。

更新端点速率限制

你可以更新端点的速率限制,包括每秒请求数( rps)、每分钟请求数( rpm)和每天请求数( rpd)。这些都在端点级别提供。

以下命令更新特定端点的速率限制(250 rps、1000 rpm 和 10000 rpd):

curl -X PUT 'https://api.quicknode.com/v0/endpoints/{id}/rate-limits' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'
     --data '{
    "rate_limits": {
        "rps": 250,
        "rpm": 1000,
        "rpd": 10000
    }
}'

管理方法速率限制

要为你的端点中的特定方法创建具体速率限制:

curl -X POST 'https://api.quicknode.com/v0/endpoints/{id}/method-rate-limits' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE' \
     -d '{
           "interval": "second",
           "methods": [\
            "eth_getLogs",\
            "eth_chainId"\
            ],
           "rate": 100
         }'
  • interval:指定速率限制的时间间隔。在此示例中,设置为“秒”,表示速率限制按秒计算。
  • methods:列出适用速率限制的特定方法。在这里,eth_getLogseth_chainId 方法被设置了速率限制。
  • rate:定义在所选时间间隔内允许的指定方法的最大请求数量。在此示例中,为每个列出的方法设置为每秒 100 个请求的速率限制。

使用 Console API 控制支出

Console API 使你能够有效跟踪使用情况和管理支出。通过定期监控你的 API 使用情况,你可以防止意外的超支并采取积极的措施。

获取当前 API 信用使用情况

要检索你在指定时间范围内的总使用情况:

curl -X GET 'https://api.quicknode.com/v0/usage/rpc' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

API 将提供一个响应,其中包含你的指定时间范围的关键细节,如 credits_usedcredits_remaininglimit

信息

如果你未通过提供 start_timeend_time 指定时间范围,则使用当前计费期,并返回此期间的剩余额度。

确保在指定自定义范围时使用 Unix 时间戳(秒)作为 start_timeend_time。 示例:https://api.quicknode.com/v0/usage/rpc?start_time={START_TIME}&end_time={END_TIME}

你可以每分钟或每小时检索一次总使用情况,以了解你的使用趋势。这种定期轮询使你能够监控消费并避免意外。

如果你希望按端点、方法或区块链细分使用情况:

按端点:检查哪些具体端点消耗最多的信用。

curl -X GET 'https://api.quicknode.com/v0/usage/rpc/by-endpoint' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

按方法:识别最常调用的方法。

curl -X GET 'https://api.quicknode.com/v0/usage/rpc/by-method' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

按链:分析不同区块链网络中的使用情况。

curl -X GET 'https://api.quicknode.com/v0/usage/rpc/by-chain' \
     -H 'accept: application/json' \
     -H 'x-api-key: YOUR_API_KEY_HERE'

想构建实时仪表板吗?

如果你希望在实时仪表板中可视化你的 QuickNode 指标,请查看我们的指南 如何构建 Grafana 仪表板以监控你的 RPC 基础设施。对于希望使用 Grafana 和 Prometheus 等高级可视化工具监控其使用情况的企业计划用户而言,这非常完美。本指南将带你逐步设置全面的仪表板,以有效跟踪你的端点性能。

结论

恭喜你!🎉 你刚刚学习如何利用 QuickNode Console API 的强大功能来管理你的端点、控制支出并有效监控你的使用情况。

如果你遇到问题或有任何疑问,请在我们的 Discord 中告诉我们。通过关注我们的 Twitter (@QuickNode) 或我们的 Telegram 公告频道 来保持最新动态。

我们 ❤️ 反馈!

告诉我们 如果你有任何反馈或新主题的请求。我们期待你的来信。

其他资源

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

0 条评论

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