公開残高と非公開残高
非公開残高は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が返されます。追いついてから再試行してください。
outputTreeIdが含まれる場合もあります。利用できない場合は省略されます。個々の出力は、outputContext.treeIdで自身のツリーを識別します。
getNullifierQueueElementsはシーケンスベースのページネーションを使用します。詳細は、そのメソッドページを参照してください。
データエンコーディング
エラー
HTTPステータスが200の場合も含め、resultを読み取る前に、JSON-RPCのerrorフィールドを確認してください。
HTTP 429はレート制限を示します。レート制限を参照してください。APIキーの設定については、認証を参照してください。