Перейти к основному содержанию
Каждая программа на этой странице полностью готова. Скопируйте её в файл, задайте ключ и запустите. Перед публикацией каждая из них была проверена на реальных эндпоинтах OrbitFlare.

Перед началом

Задайте лицензионный ключ один раз. Все три SDK читают его из переменной окружения, поэтому он никогда не появляется в вашем коде.
В примерах используется Франкфурт (fra). Замените хост на регион, ближайший к вашим серверам. Если лицензия работает в режиме API Key Only, SDK также передают ключ в Jetstream и Yellowstone. В режиме IP Whitelist перед запуском рецепта с потоковой передачей добавьте IP вашего сервера в лицензию в панели управления.
ws и @grpc/grpc-js являются необязательными peer-зависимостями SDK. Без них клиенты WebSocket и Jetstream падают с ошибкой Cannot find package 'ws' или Cannot find package '@grpc/grpc-js'. Запускайте файл командой npx tsx file.ts.

Проверьте, что ключ работает

Самый быстрый способ исключить проблемы с настройкой. Если программа выводит номер слота, с ключом, регионом и сетевым маршрутом всё в порядке.
Если что-то не так, ошибка подскажет причину: Полный список приведён в справочнике ошибок.

Отслеживайте изменения аккаунта

Программа подписывается через WebSocket и выводит каждое обновление. В примере отслеживается sysvar Clock, потому что он меняется каждый слот и вывод появляется сразу. Подставьте адрес любого аккаунта.
Обновления приходят только при изменении аккаунта. Тихий аккаунт означает тихую подписку, а не сломанную. Если ничего не приходит, см. отладку WebSocket.

Дождитесь подтверждения транзакции

Передайте подпись в командной строке. Программа опрашивает getSignatureStatuses, пока транзакция не будет подтверждена, не завершится ошибкой или не станет ясно, что она уже не появится.
Опрос с searchTransactionHistory работает для любой подписи, старой или новой. signatureSubscribe знает только о недавних транзакциях, поэтому подписка на транзакцию, подтверждённую несколько минут назад, никогда не пришлёт уведомление. Статус null означает, что кластер не видел транзакцию. Что с этим делать, описано в разделе отладка транзакций.

Поток транзакций программы

Программа использует Jetstream v2 и выводит каждую транзакцию, затрагивающую pump.fun, вместе с плательщиком комиссии и ценой вычислительной единицы из полей обогащения.
Для версии с grpcurl нужен файл jetstream_v2.proto из репозитория SDK в текущей папке. Jetstream фильтрует только транзакции. Для отслеживания состояния аккаунтов используйте Yellowstone.

Прочитайте последние транзакции кошелька

Программа возвращает 10 последних транзакций адреса с помощью getTransactionsForAddress.
Каждая запись содержит signature, slot, blockTime, err и confirmationStatus. Чтобы получить следующую страницу, передайте возвращённый paginationToken. Для получения полных транзакций задайте transactionDetails равным "full" вместе с "maxSupportedTransactionVersion": 1. Без этого транзакции версии 1 молча пропускаются. Фильтры и сортировка описаны на странице getTransactionsForAddress.

Другие примеры

Справочник ошибок

Все ошибки, которые возвращает OrbitFlare, и что с ними делать.

Отладка транзакций

Почему транзакция завершилась ошибкой, была отброшена или так и не попала в блок.

Отправка через Apex

Доставляйте транзакции быстрее с OrbitFlare Apex.

Справочник SDK

Все клиенты, параметры билдеров и методы SDK.