跳转至主要内容

Quicknode SDK

更新于
Jul 13, 2026

概述

Quicknode SDK是一个通用 SDK,可让您使用您已熟悉的编程语言(Rust、Python、Node.js 和 Ruby)调用 Quicknode 产品的 API。

使用它来构建 Quicknode 产品工作流、运维服务、脚本以及需要对以下内容进行类型化访问的 AI 代理:


  • 管理 API:管理端点、使用情况、计费、团队、端点安全、速率限制、日志、指标和账户标签。
  • RPC: Make on-chain JSON-RPC calls to any supported network without provisioning an endpoint.
  • :创建、更新、暂停、激活、测试和删除流。
  • Webhooks:基于 Quicknode Webhook 模板创建和管理 Webhook 订阅。
  • 键值存储:用于存储和检索应用程序状态、流过滤器、监视列表、游标以及代理内存中的集合和列表。
  • SQL 浏览器:对已建立索引的区块链数据运行 SQL 查询,并检索表结构。

何时使用 SDK

当您希望为 Quicknode 产品 API 使用一个统一的客户端时,请使用该 SDK,尤其是在您的应用或代理需要在同一个工作流中协调多个产品时。

常见的工作流程包括:


  • 使用管理 API 创建或管理端点。
  • Make on-chain JSON-RPC calls to any supported network.
  • 创建一个流,并将经过过滤的链上数据传输到 webhook 接收端。
  • 将处理状态或关注列表存储在键值存储中。
  • 根据模板创建 Webhook 并管理其生命周期。
  • 使用 SQL Explorer 对已建立索引的区块链数据执行 SQL 查询。
  • 构建能够检查账户状态、配置资源并清理测试基础设施的构建代理工作流。

软件包

语言包装安装
Node.js / TypeScript@quicknode/sdknpm install @quicknode/sdk
Pythonquicknode-sdkpip install quicknode-sdk
Rustquicknode-sdkcargo add quicknode-sdk --features rust
Rubyquicknode_sdkgem install quicknode_sdk

平台支持

该 SDK 基于一个共享的 Rust 核心构建,并为特定语言提供了绑定。该核心会编译为每个受支持平台的本机库,从而为您提供可预测的性能和较小的依赖足迹。相应的取舍是,我们仅发布针对特定目标集的二进制文件,而非在宿主语言支持的每个环境中运行。

支持的目标

已发布以下平台的预编译原生模块:

平台目标
Linux(glibc)x86_64、aarch64(基于 glibc 2.17 及以上版本)(manylinux2014)
Linux (musl)Alpine 及其他 musl 发行版上的 x86_64、aarch64
macOSApple Silicon (arm64)

Linux glibc 二进制文件是基于 glibc 2.17 构建的,因此可在 2014 年及以后发布的任何发行版上运行,包括 RHEL 7 及以上版本、Ubuntu 14.04 及以上版本、Debian 8 及以上版本、Amazon Linux 2 及以上版本、SLES 12 及以上版本以及 Fedora 19 及以上版本。

不支持


  • 浏览器:Quicknode SDK 不兼容浏览器。它通过原生绑定使用 Rust 核心,这需要 Node.js 或其他支持原生插件的运行时环境。标准浏览器打包无法加载这些绑定。
  • Windows:未发布预编译二进制文件。WSL2 运行正常,是 Windows 开发者的推荐方案。
  • Intel macOS:仅限 Apple Silicon。
  • 较旧的 Linux 发行版:低于 glibc 最低版本要求:RHEL/CentOS 6(glibc 2.12)、Debian 7(glibc 2.13)、Ubuntu 12.04(glibc 2.15)、SLES 11(glibc 2.11)。

在不受支持的平台上,加载 SDK 时会立即失败,并显示一条列出可用目标的错误信息。该错误会在安装或导入时显现,而非首次调用时。

产品客户

只需构建一次 SDK,然后使用该共享配置所提供的各产品客户端。

客户目的REST API
管理员端点、团队、使用情况、日志、计费、指标、安全性和速率限制https://api.quicknode.com/v0/
rpcOn-chain JSON-RPC calls to any supported network via Tooling AccessAccount Tooling Access endpoint
流的创建、更新、生命周期及过滤器测试https://api.quicknode.com/streams/rest/v1/
WebhooksWebhook 模板、目标、生命周期和计数https://api.quicknode.com/webhooks/rest/v1/
kvstore用于持久化状态的集合和列表https://api.quicknode.com/kv/rest/v1/
sql针对已建立索引的区块链数据执行的 SQL 查询https://api.quicknode.com/sql/rest/v1/

SDK 的入口点是 QuicknodeSdk 在每种语言的绑定中。Ruby 将其暴露为 QuicknodeSdk::SDK.

SQL Explorer 方法

sql 客户端提供了两种方法:

  • query(sql, clusterId): 对已建立索引的区块链数据执行 SQL 查询。返回指定类型的行以及查询统计信息(信用点、扫描的行数、读取的字节数)。
  • getSchema(clusterId): 获取集群的表结构。
const qn = new QuicknodeSdk();

// Run a SQL query
const resp = await qn.sql.query(
"SELECT action_type, user FROM hyperliquid_system_actions LIMIT 3",
"hyperliquid-core-mainnet"
);
console.log(`${resp.rows} rows, ${resp.credits} credits`);

// Get the schema for a cluster
const schema = await qn.sql.getSchema("hyperliquid-core-mainnet");

身份验证

Quicknode 仪表盘, 然后使用 QN_SDK__API_KEY 环境变量。

导出 QN_SDK__API_KEY="您的API密钥"

该 SDK 还支持在本地开发、预发布环境和代理沙箱中覆盖基础 URL:

环境变量默认
QN_SDK__ADMIN__BASE_URLhttps://api.quicknode.com/v0/
QN_SDK__STREAMS__BASE_URLhttps://api.quicknode.com/streams/rest/v1/
QN_SDK__WEBHOOKS__BASE_URLhttps://api.quicknode.com/webhooks/rest/v1/
QN_SDK__KVSTORE__BASE_URLhttps://api.quicknode.com/kv/rest/v1/
QN_SDK__SQL__BASE_URLhttps://api.quicknode.com/sql/rest/v1/
QN_SDK__HTTP__TIMEOUT_SECS30

面向代理商

该 SDK 的设计旨在同时服务于人类用户和智能代理。智能代理可以初始化一个 SDK 句柄,在不同产品客户端间复用相同的凭据,并借助类型化方法的输入和响应,而无需为每个工作流单独编写原始的 REST 调用。

下一步


我们 ❤️ 反馈

请就缺失的方法、命名、示例以及代理工作流提供反馈,以便我们不断改进该 SDK。

分享此文档