概要
Quicknode SDKは、Rust、Python、Node.js、Ruby といった、すでに使用している言語から Quicknode 製品の API を操作するための単一の SDK です。
これを使用して、以下のものへの型付きアクセスを必要とするQuicknodeの製品ワークフロー、運用サービス、スクリプト、およびAIエージェントを構築します:
- 管理用API: エンドポイント、利用状況、課金、チーム、エンドポイントのセキュリティ、レート制限、ログ、メトリクス、およびアカウントタグを管理します。
- RPC: Make on-chain JSON-RPC calls to any supported network without provisioning an endpoint.
- ストリーム: ストリームの作成、更新、一時停止、有効化、テスト、および削除を行います。
- Webhook: QuicknodeのWebhookテンプレートからWebhookの登録を作成・管理します。
- キーバリューストア: アプリケーションの状態、ストリームフィルター、ウォッチリスト、カーソル、およびエージェントのメモリに関するセットやリストを保存および取得します。
- SQL Explorer: インデックス化されたブロックチェーンデータに対してSQLクエリを実行し、テーブルのスキーマを取得します。
Quicknode SDK を使用して開発を行う開発者およびエージェント向けの完全なリファレンス:
SDKの使用タイミング
Quicknodeの製品APIに対して統一されたクライアントを利用したい場合、特にアプリやエージェントが1つのワークフロー内で複数の製品を連携させる必要がある場合は、SDKをご利用ください。
一般的なワークフローには、次のようなものがあります:
- Admin API を使用してエンドポイントを作成または管理します。
- Make on-chain JSON-RPC calls to any supported network.
- ストリームを作成し、フィルタリング済みのオンチェーンデータをWebhookの宛先に配信します。
- 処理状態やウォッチリストをキーバリューストアに保存する。
- テンプレートからWebhookを作成し、そのライフサイクルを管理します。
- SQL Explorer を使用して、インデックス化されたブロックチェーンデータに対して SQL クエリを実行します。
- アカウントの状態を確認し、リソースをプロビジョニングし、テストインフラストラクチャをクリーンアップできるビルドエージェントのワークフローを構築します。
パッケージ
| 言語 | パッケージ | インストール |
|---|---|---|
| Node.js / TypeScript | @quicknode/sdk | npm install @quicknode/sdk |
| Python | quicknode-sdk | pip install quicknode-sdk |
| Rust | quicknode-sdk | cargo add quicknode-sdk --features rust |
| ルビー | quicknode_sdk | gem install quicknode_sdk |
プラットフォームの対応状況
このSDKは、特定の言語向けのバインディングを備えた共有のRustコアを基盤として構築されています。このコアは、サポートされている各プラットフォーム向けのネイティブライブラリにコンパイルされるため、予測可能なパフォーマンスと、依存関係のフットプリントの小ささを実現しています。その代償として、ホスト言語がサポートするあらゆる環境で動作するのではなく、特定のターゲットセット向けのバイナリを公開することになります。
対応対象
プリコンパイル済みのネイティブモジュールは、以下のプラットフォーム向けに公開されています:
| プラットフォーム | 目標 |
|---|---|
| Linux (glibc) | glibc 2.17 以降上の x86_64、aarch64 (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以降など)で動作します。
対応していません
- ブラウザ:Quicknode SDK はブラウザに対応していません。この 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 |
|---|---|---|
admin | エンドポイント、チーム、利用状況、ログ、課金、メトリクス、セキュリティ、レート制限 | https://api.quicknode.com/v0/ |
rpc | On-chain JSON-RPC calls to any supported network via Tooling Access | Account Tooling Access endpoint |
ストリーム | ストリームの作成、更新、ライフサイクル、およびフィルタのテスト | https://api.quicknode.com/streams/rest/v1/ |
Webhook | 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 クライアントは2つのメソッドを提供しています:
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");
認証
でAPIキーを作成します。 Quicknodeダッシュボード, その後、SDKを QN_SDK__API_KEY 環境変数。
エクスポート QN_SDK__API_KEY="YOUR_API_KEY"
また、このSDKでは、ローカル開発、ステージング、およびエージェントのサンドボックスにおけるベース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 |
エージェントの皆様へ
このSDKは、人間とエージェントの両方にとって有用になるように設計されています。エージェントは、1つのSDKハンドルを初期化し、複数の製品クライアント間で同じ認証情報を再利用でき、ワークフローごとに生のREST呼び出しを組み立てる代わりに、型付きメソッドの入力と応答を利用することができます。
今後の手順
- SDKをインストールして初期設定を行うには、まず「クイックスタート」から始めてください。
- Use Examples to see Admin API, RPC & Tooling Access, Streams, Webhooks, and Key-Value Store workflows.
- エンドポイントの動作の詳細については、各製品のAPIドキュメント(Admin API、Streams、Webhooks、Key-Value Store、SQL Explorer)をご参照ください。
皆様からのフィードバックを心よりお待ちしております❤️
SDKのさらなる改善に役立てるため、不足しているメソッド、命名、サンプル、およびエージェントのワークフローに関するフィードバックをお寄せください。