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 :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 :
dataregroupe 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 tableauoutputsdans chaque groupe ; les méthodes d’historique des transactions utilisent un tableauevents.limitcompte 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
paginationTokennon 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 soitnull. filters.slotaccepte les limitesgt,gte,ltetlte. Les limites fournies sont combinées avec AND. Lorsqu’une lecture sans plafond atteint un jeton nul, enregistrez lecontext.slotde cette page et reprenez ultérieurement en définissantfilters.slot.gtsur cette valeur. Une lecture plafonnée parltoultecouvre uniquement les slots jusqu’à ce plafond ; reprenez-la à partir du plafond, et non decontext.slot.- Définissez
minContextSlotpour exiger un slot minimal conservé par l’indexeur. L’indexeur exige également le slot de votrepaginationTokenet de tout filtregtougte. S’il est en retard sur l’une de ces valeurs, il renvoie l’erreur-32016avecerror.data.contextSlot; réessayez une fois qu’il a rattrapé son retard.
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 champerror 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.