概覽
該 SDK 是一個單一的SDK ,可讓您透過您現有的程式語言(Rust、Python、Node.js 及 Ruby)來操作Quicknode 的產品 API。
可藉此建立Quicknode 產品工作流程、運作服務、腳本以及 AIagents ,這些內容需要對以下項目進行具類型化的存取:
- Admin API: 管理端點、使用狀況、計費、團隊、endpoint 安全性、速率限制、日誌、指標及帳戶標籤。
- RPC:無需配置endpoint 即可向任何受支援的網路發起鏈上 JSON-RPC 呼叫,或透過x402 或 MPP 以每次呼叫計費的方式進行操作,無需帳戶或 API 金鑰。
- Streams: 建立、更新、暫停、啟用、測試及刪除Streams 。
- Webhooks: 根據Quicknode 上的 webhook 範本,建立並管理 webhook 訂閱。
- 鍵值儲存庫:用於儲存及擷取用於應用程式狀態、串流篩選器、監看清單、游標以及agent 記憶體的集合與清單。
- SQL Explorer:針對已建立索引的區塊鏈資料執行 SQL 查詢,並擷取資料表結構。
針對開發者及使用SDK 進行agents 建置的完整參考指南:
何時該使用SDK
若您希望使用單一且一致的客戶端來存取Quicknode 產品 API,請使用SDK ,特別是在您的應用程式或agent 需要在單一工作流程中協調多個產品時。
常見的工作流程包括:
- 使用Admin API 建立或管理端點。
- 對任何受支援的網路進行鏈上 JSON-RPC 呼叫。
- 無需擁有Quicknode 帳戶或 API 金鑰,即可透過x402 或 MPP 支付 RPC 呼叫費用。
- 建立一個資料流,並將經過篩選的鏈上資料傳送至 webhook 接收端。
- 將處理狀態或關注清單儲存於鍵值儲存庫中。
- 根據範本建立webhooks ,並管理其生命週期。
- 使用 SQL Explorer 對已建立索引的區塊鏈資料執行 SQL 查詢。
- 建立agent 工作流程,用以檢查帳戶狀態、配置資源,並清理測試基礎架構。
套件
| 語言 | 套裝 | 安裝 |
|---|---|---|
| Node.js / TypeScript | @quicknode/sdk | npm install @quicknode/sdk |
| Python | quicknode-sdk | pip installquicknode-sdk |
| Rust | quicknode-sdk | cargo addquicknode-sdk --features rust |
| Ruby | quicknode_sdk | gem installquicknode_sdk |
平台支援
SDK 是以共享的 Rust 核心為基礎建構而成,並提供針對特定語言的綁定函式。該核心會編譯成各受支援平台的原生函式庫,為您提供可預期的效能與輕量的依賴項佔用空間。其代價在於,我們僅針對特定目標平台發布二進位檔,而非在主語言所支援的每個環境中皆能運行。
支援的目標
已預編譯的原生模組已發佈於:
| 平台 | 目標 |
|---|---|
| Linux (glibc) | x86_64、aarch64 搭配 glibc 2.17 及以上版本(manylinux2014) |
| Linux (musl) | Alpine 及其他 musl 發行版上的 x86_64、aarch64 |
| macOS | Apple Silicon (arm64) |
Linux glibc 二進位檔是針對 glibc 2.17 編譯而成的,因此可在 2014 年起發行的任何發行版上載入,包括 RHEL 7 及以上版本、Ubuntu 14.04 及以上版本、Debian 8 及以上版本、Amazon Linux 2 及以上版本、SLES 12 及以上版本,以及 Fedora 19 及以上版本。
不支援
- 瀏覽器: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/ |
rpc | 透過 Tooling Access 或x402/MPP 微支付進行鏈上 JSON-RPC 呼叫 | Tooling Access、x402 或 MPP 閘道 |
streams | Streams 建立、更新、生命週期及篩選器測試 | https://api.quicknode.com/streams/rest/v1/ |
webhooks | Webhook 範本、接收端、生命週期及計數 | 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.查詢(
"SELECT action_type, user FROMhyperliquid_system_actions LIMIT 3",
"hyperliquid-core-mainnet"
);
console.log(`${resp.rows} rows, ${resp.credits} credits`);
// Get the schema for a cluster
const 模式 = await qn.sql.getSchema("hyperliquid-core-mainnet");
驗證
在 Quicknode, 接著使用以下設定來配置SDK : QN_SDK__API_KEY 環境變數。
匯出 QN_SDK__API_KEY="您的 API 金鑰"
SDK 亦支援針對本地開發環境、預備環境以及agent 沙盒環境的基礎 URL 覆寫功能:
| 環境變數 | 預設 |
|---|---|
QN_SDK__ADMIN__BASE_URL | https://api.quicknode.com/v0/ |
QN_SDK__STREAMS__BASE_URL | https://api.quicknode.com/streams/rest/v1/ |
QN_SDK__WEBHOOKS__BASE_URL | https://api.quicknode.com/webhooks/rest/v1/ |
QN_SDK__KVSTORE__BASE_URL | https://api.quicknode.com/kv/rest/v1/ |
QN_SDK__SQL__BASE_URL | https://api.quicknode.com/sql/rest/v1/ |
QN_SDK__HTTP__TIMEOUT_SECS | 30 |
關於agents
SDK 的設計初衷是為人類使用者提供便利,並支援agents 。透過Agents ,可初始化一個SDK 處理程序,在不同產品客戶端間重複使用相同的憑證,並仰賴類型化的方法輸入與回應,而非針對每個工作流程分別組合原始的 REST 呼叫。