メインコンテンツへスキップ
Solana Privacy Rings APIは、プライバシーインデクサーにクエリを送信します。暗号化状態と公開トランザクションメタデータを返します。ウォレットはペイロードを復号し、非公開の残高と履歴を読み取ります。概念についてはプライバシーの概要を、入金、送金、出金のフローについてはSDKを参照してください。

公開残高と非公開残高

非公開残高はUTXO(未使用トランザクション出力)に保存されます。UTXOはSolanaアカウントではありません。 非公開残高がどのように保存および使用されるかについては、非公開状態とUTXOを参照してください。

エンドポイントと認証

Helius APIキーを使用して、メソッドのパスにJSON-RPC 2.0リクエストを送信します。
methodは、URLパスの最後のセグメントと一致する必要があります。メソッドパスが受け付けるのは単一のリクエストです。バッチ、重複するmethodフィールド、パスと本文の不一致は、実行前にHTTP 400を返します。 ローカル開発では、ローカルスタックを起動した後にhttp://127.0.0.1:8784/{method}を使用してください。

メソッド

getEncryptedUtxosByTags

ビュータグまたはリングを使用して暗号化出力を検出します。

getShieldedTransactionsByTags

ビュータグまたはリングを使用してシールドトランザクション履歴を照会します。

getShieldedTransactionsBySignature

1つのSolanaトランザクションのシールドイベントを取得します。

getShieldedTransactionsByNullifiers

指定したNullifierを使用したトランザクションを検索します。

getMerkleProofs

状態ツリーのコミットメントに対する包含証明を取得します。

getNonInclusionProofs

Nullifier値に対する非包含証明を取得します。

getNullifierQueueElements

キューに入っているNullifierをシーケンス順に読み取ります。

getUserRecords

公開シールドアドレスの登録情報を検索します。

ページネーション

getEncryptedUtxosByTags、getShieldedTransactionsByTags、getShieldedTransactionsByNullifiersは、result内にページを返します。
  • dataは、結果をSolanaトランザクションごとにグループ化し、スロットと署名の昇順で並べます。暗号化UTXOメソッドは各グループでoutputs配列を使用し、トランザクション履歴メソッドはevents配列を使用します。
  • limitはSolanaトランザクション数を指定します。範囲は1~1,000で、デフォルトは1,000です。1つのトランザクションに一致する出力またはイベントは、同じページにまとめられます。
  • nullではないpaginationTokenを、同じタグまたはNullifier、リング、スロットフィルターとともに変更せずに再度渡します。レスポンストークンがnullになるまで続行してください。
  • filters.slotは、gt、gte、lt、lteの境界を受け付けます。指定した境界はAND条件で組み合わされます。上限なしの読み取りでnullトークンに到達したら、そのページのcontext.slotを保存し、後でfilters.slot.gtにその値を設定して再開します。ltまたはlteで上限を設定した読み取りは、その上限までのスロットのみを対象とします。context.slotではなく、その上限から再開してください。
  • minContextSlotを設定し、永続化済みのインデクサースロットの最小値を指定します。インデクサーでは、paginationTokenのスロットと、gtまたはgteフィルターのスロットも必要です。これらのいずれかに到達していない場合、error.data.contextSlotを含むエラー-32016が返されます。追いついてから再試行してください。
履歴レスポンスには、停止していない最新の状態ツリーIDであるoutputTreeIdが含まれる場合もあります。利用できない場合は省略されます。個々の出力は、outputContext.treeIdで自身のツリーを識別します。 getNullifierQueueElementsはシーケンスベースのページネーションを使用します。詳細は、そのメソッドページを参照してください。

データエンコーディング

エラー

HTTPステータスが200の場合も含め、resultを読み取る前に、JSON-RPCのerrorフィールドを確認してください。 HTTP 429はレート制限を示します。レート制限を参照してください。APIキーの設定については、認証を参照してください。