このページの翻訳は LLM によって生成されています。誤りに気づいた場合は GitHub で issue を開いてお知らせください。
Sai Keeper入門

Sai KeeperはNibiru上のSaiのリアルタイム・過去データを提供するGraphQL APIです。無期限先物取引、流動性、オラクル価格、手数料分析を取得できます。
Sai Keeperとは?
Section titled “Sai Keeperとは?”Saiのデータをインデックス化して取得する仕組みです。オンチェーンイベントを処理し、高速で柔軟なGraphQL APIで公開します。
主な機能:
- ポジションと履歴の取得。
- プール情報とAPY。
- オラクル価格。
- 手数料体系とプロトコル収益の分析。
- WebSocketでのリアルタイム購読。
テストネット
Section titled “テストネット”- GraphQL:
https://sai-keeper.testnet-2.nibiru.fi/graphql。 - Playground:
https://sai-keeper.testnet-2.nibiru.fi/。 - テストデータを使う開発・テスト向けです。
メインネット
Section titled “メインネット”- GraphQL:
https://sai-keeper.nibiru.fi/graphql。 - Playground:
https://sai-keeper.nibiru.fi/。 - 実際のデータを使う本番アプリ向けです。
どちらの環境にもGraphQL Playgroundがあり、次を試せます。
- 実データでクエリを試す。
- リアルタイム購読を試す。
- 組込み文書でスキーマを確認。
- クエリ履歴の確認・保存。
- 整形JSONで応答を確認。
ブラウザーで各URLを開いてください。
クイックスタート
Section titled “クイックスタート”1. APIを確認する
Section titled “1. APIを確認する”Playgroundでスキーマを確認します。
- テストネット: https://sai-keeper.testnet-2.nibiru.fi/。
- メインネット: https://sai-keeper.nibiru.fi/。
2. 最初のクエリ
Section titled “2. 最初のクエリ”次の簡単なクエリを試してください。
query GetTokenPrices { oracle { tokenPricesUsd(limit: 5) { token { symbol name } priceUsd lastUpdatedBlock { block block_ts } } }}3. クライアント設定
Section titled “3. クライアント設定”GraphQLクライアントをインストールします。
JavaScript/TypeScript:
npm install @apollo/client graphql# ornpm install urql graphqlPython:
pip install gql[all]Rust:
[dependencies]graphql_client = "0.13"主なデータ領域
Section titled “主なデータ領域”主に四つの領域があります。
1. Perp、無期限先物
Section titled “1. Perp、無期限先物”取引データを取得・購読します。
- 未決済・決済済みポジション。
- 取引履歴・イベント。
- 市場の借入料率。
2. LP、流動性プール
Section titled “2. LP、流動性プール”LP情報を取得します。
- TVL、APY、持分価格。
- 入金・持分。
- 出金申請。
- 収益追跡。
3. オラクル
Section titled “3. オラクル”トークンの価格データ。
- USDのリアルタイム価格。
- メタデータ。
- 更新時刻。
4. 手数料
Section titled “4. 手数料”手数料の分析。
- 取引ごとの手数料。
- 日次統計。
- プロトコル・利用者別集計。
- 新規・決済などの内訳。
GraphQLの基本
Section titled “GraphQLの基本”初めて使う場合の基本操作です。
必要なデータを指定します。
query { perp { trades(where: { trader: "nibi1abc..." }, limit: 10) { id isOpen leverage } }}サブスクリプション
Section titled “サブスクリプション”リアルタイム更新を受け取ります。
subscription { perpTrades(where: { trader: "nibi1abc..." }) { id isOpen leverage }}クエリをパラメーター化します。
query GetTrades($trader: String!, $limit: Int) { perp { trades(where: { trader: $trader }, limit: $limit) { id } }}変数:
{ "trader": "nibi1abc...", "limit": 10}┌─────────────────┐│ Your App ││ (Frontend/ ││ Backend) │└────────┬────────┘ │ │ GraphQL │ Query/Subscribe │┌────────▼────────┐│ Sai Keeper ││ GraphQL API │└────────┬────────┘ │ │ Indexes │┌────────▼────────┐│ Nibiru Chain ││ (Blockchain) │└─────────────────┘チェーンのデータをインデックス化し、GraphQLで提供するため、チェーンの直接照会や自分のインデクサー運用は不要です。
開発できるもの
Section titled “開発できるもの”- 取引アプリ: 無期限先物の取引UI。
- ポートフォリオ: ポジション、損益、運用成績の監視。
- 分析UI: プロトコル指標と利用状況。
- 自動ボット: リアルタイムデータで取引アルゴリズム。
- LP管理: ポジション戦略の最適化。