Публичные и приватные балансы
Приватный баланс хранится в UTXO (неизрасходованных выходах транзакций). UTXO не является аккаунтом Solana.
Описание хранения и расходования приватных балансов см. в разделе Приватное состояние и UTXO.
Конечная точка и аутентификация
Отправьте запрос JSON-RPC 2.0 по пути метода, указав ключ API Helius:method должно соответствовать последнему сегменту пути URL. Пути методов принимают один запрос. Пакетные запросы, повторяющиеся поля method и несоответствия между путём и телом запроса приводят к возврату HTTP 400 до выполнения.
Для локальной разработки используйте http://127.0.0.1:8784/{method} после запуска локального стека.
Методы
getEncryptedUtxosByTags
Находите зашифрованные выходы по тегам просмотра или кольцу.
getShieldedTransactionsByTags
Запрашивайте историю защищённых транзакций по тегам просмотра или кольцу.
getShieldedTransactionsBySignature
Получайте защищённые события для одной транзакции Solana.
getShieldedTransactionsByNullifiers
Находите транзакции, в которых были израсходованы указанные нуллификаторы.
getMerkleProofs
Получайте доказательства включения для обязательств дерева состояний.
getNonInclusionProofs
Получайте доказательства невключения для значений нуллификаторов.
getNullifierQueueElements
Читайте нуллификаторы из очереди в порядке последовательности.
getUserRecords
Находите общедоступные регистрации защищённых адресов.
Пагинация
getEncryptedUtxosByTags, getShieldedTransactionsByTags и getShieldedTransactionsByNullifiers возвращают страницу в result:
dataгруппирует результаты по транзакциям Solana, упорядоченным по возрастанию слота и подписи. Метод зашифрованных UTXO использует массивoutputsв каждой группе, а методы истории транзакций — массивevents.limitзадаёт количество транзакций Solana от 1 до 1 000. Значение по умолчанию — 1 000. Соответствующие одной транзакции выходы или события остаются вместе на одной странице.- Передавайте ненулевое значение
paginationTokenобратно без изменений вместе с теми же тегами или нуллификаторами, кольцом и фильтрами слотов. Продолжайте, пока токен в ответе не станет равенnull. filters.slotпринимает границыgt,gte,ltиlte. Указанные границы объединяются логическим оператором AND. Когда чтение без верхнего ограничения достигает нулевого токена, сохраните значениеcontext.slotэтой страницы и возобновите чтение позже, задав дляfilters.slot.gtэто значение. Чтение, ограниченноеltилиlte, охватывает только слоты до указанной границы. Возобновляйте его с этой границы, а не сcontext.slot.- Задайте
minContextSlot, чтобы потребовать минимальный сохранённый слот индексатора. Индексатор также требует слот вашегоpaginationTokenи любого фильтраgtилиgte. Если индексатор отстаёт от любого из них, он возвращает ошибку-32016сerror.data.contextSlot. Повторите попытку, когда индексатор синхронизируется.
outputTreeId — идентификатор новейшего неприостановленного дерева состояний. Если он недоступен, поле отсутствует. Отдельные выходы указывают собственное дерево с помощью outputContext.treeId.
getNullifierQueueElements использует пагинацию на основе последовательности. См. страницу метода.
Кодирование данных
Ошибки
Проверяйте полеerror JSON-RPC перед чтением result, в том числе при статусе HTTP 200.
HTTP 429 указывает на ограничение частоты запросов. См. ограничения частоты запросов. Настройка ключа API описана в разделе аутентификация.