如何使用 Quicknode Admin API 管理你的 RPC 基础设施

本文详细介绍了如何利用 Quicknode Admin API 编程化管理 Quicknode RPC 端点。内容涵盖端点的创建、更新、设置方法级和全局速率限制,以及通过监控使用情况来有效控制支出。

概述

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

你将做什么

  • 使用 Admin API 以编程方式管理你的 Quicknode 端点
  • 高效地监控和控制你的支出和 API 使用情况

你将需要什么

Admin API 适用于所有付费账户。详情请查看定价

Quicknode Admin API 介绍

Quicknode Admin API 提供了对用户仪表板中所有可用操作强大的编程访问能力,使你能够更有效地管理基础设施、监控性能和控制成本。此 API 允许进行完整的端点管理、使用情况监控和安全配置。

为什么使用 Admin API?

  • 完全控制:管理你的 Quicknode 设置的所有方面,而无需手动与用户仪表板交互。
  • 自动化:自动化端点创建、安全配置、速率限制调整和团队管理操作。
  • 团队组织:以编程方式创建团队,管理成员资格,并大规模控制端点访问。
  • 成本管理:实时监控你的使用情况和支出,使你能够设置警报,甚至在接近使用阈值时以编程方式禁用端点。
  • 增强监控:利用 Prometheus 构建定制的 Grafana 仪表板以获得更好的可见性。

Quicknode Admin API 资源概述

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

  • Billing (账单):检索账单信息,包括发票和付款。
  • Chains (链):获取所有 Quicknode 支持的链的列表。
  • Endpoints (端点):创建、检索、更新和归档 Quicknode 端点,以编程方式管理你的基础设施。
  • Endpoint Metrics (端点指标):在指定时间段内访问特定 Quicknode 端点的详细指标,包括方法调用、响应状态、分解和最大响应时间。
  • Endpoint Rate Limits (端点速率限制):更新特定 Quicknode 端点的速率限制。
  • Endpoint Security (端点安全):管理安全设置,包括 referrer、token、IP、域名掩码和 JWT 配置。
  • Teams (团队):创建、检索和删除团队;邀请和移除团队成员;列出和更新团队的端点访问权限。
  • Usage (使用情况):检索使用数据,包括指定时间范围内的总使用量,并按端点、方法或链分组查看使用数据。

如需详细文档,请参阅我们的 Admin API 文档

先决条件

Quicknode 账户和 API 密钥

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

要创建你的密钥,请登录你的 Quicknode 账户,点击左上角的头像图标,然后选择 API Keys。它将带你进入 API Keys 页面

生成一个具有适当权限的 API 密钥(你需要 CONSOLE_REST 才能使用 Admin API),并妥善保管你的 API 密钥,因为你将使用它。

API Key

使用 Admin API 管理端点

认证

要使用 Admin 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 值,你将在创建或管理端点时使用这些值。例如:

{
    "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,你可以通过两种方式进行:

使用 Admin 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、referrer、JWT、IP、域名掩码和其他安全措施。
  • rate_limits:为端点设置的速率限制,包括 rps(每秒请求数)、rpm(每分钟请求数)、rpd(每天请求数),以及速率限制是否按 IP 应用。

更新端点速率限制

你可以更新端点级别的每秒请求数(rps)、每分钟请求数(rpm)和每天请求数(rpd)的速率限制。

以下命令更新特定端点的速率限制(250 rps、1,000 rpm 和 10,000 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:指定速率限制的时间间隔。在此示例中,它设置为“second”,意味着速率限制每秒应用一次。
  • methods:列出将应用速率限制的特定方法。在这里,方法 eth_getLogseth_chainId 正在被限速。
  • rate:定义在所选间隔内允许的指定方法的最大请求数。在此示例中,每个列出的方法的速率限制设置为每秒 100 个请求。

使用 Admin API 控制支出

Admin 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 来指定时间范围,则使用当前计费周期,并返回该周期的剩余积分。

在指定自定义范围时,请确保 start_timeend_time 使用秒为单位的 Unix 时间戳。 示例: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 Admin API 的强大功能来管理你的端点、控制支出并有效监控你的使用情况。

如果你遇到困难或有问题,请在我们的 Discord 中提问。通过关注我们的 Twitter (@Quicknode) 或我们的 Telegram 公告频道 获取最新信息。

我们 ❤️ 反馈!

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

附加资源

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

0 条评论

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