Passer au contenu principal
L’API Solana Privacy Rings interroge l’indexeur de confidentialité. Elle renvoie l’état chiffré et les métadonnées publiques des transactions. Votre portefeuille déchiffre les charges utiles pour consulter les soldes privés et l’historique. Consultez la présentation de la confidentialité pour découvrir les concepts et le SDK pour les flux de dépôt, de transfert et de retrait.

Soldes publics et privés

Un solde privé est stocké dans des UTXO (sorties de transaction non dépensées). Un UTXO n’est pas un compte Solana. Consultez État privé et UTXO pour comprendre comment les soldes privés sont stockés et dépensés.

Point de terminaison et authentification

Envoyez une requête JSON-RPC 2.0 au chemin de la méthode avec votre clé API Helius :
Le method doit correspondre au dernier segment du chemin de l’URL. Les chemins de méthode acceptent une seule requête ; les lots, les champs method en double et les incohérences entre le chemin et le corps renvoient une erreur HTTP 400 avant l’exécution. Pour le développement local, utilisez http://127.0.0.1:8784/{method} après avoir démarré la pile locale.

Méthodes

getEncryptedUtxosByTags

Découvrez les sorties chiffrées par balises de visualisation ou par anneau.

getShieldedTransactionsByTags

Interrogez l’historique des transactions protégées par balises de visualisation ou par anneau.

getShieldedTransactionsBySignature

Récupérez les événements protégés d’une transaction Solana.

getShieldedTransactionsByNullifiers

Recherchez les transactions qui ont dépensé les annulateurs fournis.

getMerkleProofs

Récupérez les preuves d’inclusion des engagements de l’arbre d’état.

getNonInclusionProofs

Récupérez les preuves de non-inclusion des valeurs d’annulateur.

getNullifierQueueElements

Lisez les annulateurs en file d’attente dans l’ordre de séquence.

getUserRecords

Recherchez les enregistrements publics d’adresses protégées.

Pagination

getEncryptedUtxosByTags, getShieldedTransactionsByTags et getShieldedTransactionsByNullifiers renvoient une page dans result :
  • data regroupe les résultats par transaction Solana, triés par slot et signature dans l’ordre croissant. La méthode des UTXO chiffrés utilise un tableau outputs dans chaque groupe ; les méthodes d’historique des transactions utilisent un tableau events.
  • limit compte les transactions Solana, de 1 à 1 000, avec une valeur par défaut de 1 000. Les sorties ou événements correspondants d’une transaction restent regroupés sur une même page.
  • Renvoyez un paginationToken non nul sans le modifier, avec les mêmes balises ou annulateurs, le même anneau et les mêmes filtres de slots. Continuez jusqu’à ce que le jeton de réponse soit null.
  • filters.slot accepte les limites gt, gte, lt et lte. Les limites fournies sont combinées avec AND. Lorsqu’une lecture sans plafond atteint un jeton nul, enregistrez le context.slot de cette page et reprenez ultérieurement en définissant filters.slot.gt sur cette valeur. Une lecture plafonnée par lt ou lte couvre uniquement les slots jusqu’à ce plafond ; reprenez-la à partir du plafond, et non de context.slot.
  • Définissez minContextSlot pour exiger un slot minimal conservé par l’indexeur. L’indexeur exige également le slot de votre paginationToken et de tout filtre gt ou gte. S’il est en retard sur l’une de ces valeurs, il renvoie l’erreur -32016 avec error.data.contextSlot ; réessayez une fois qu’il a rattrapé son retard.
Les réponses d’historique peuvent également inclure outputTreeId, l’identifiant de l’arbre d’état non suspendu le plus récent. Il est omis lorsqu’il n’est pas disponible. Chaque sortie identifie son propre arbre avec outputContext.treeId. getNullifierQueueElements utilise une pagination basée sur les séquences ; consultez sa page de méthode.

Encodage des données

Erreurs

Vérifiez le champ error de JSON-RPC avant de lire result, y compris lorsque le statut HTTP est 200. HTTP 429 indique une limitation du débit ; consultez les limites de débit. Consultez la page Authentification pour configurer la clé API.