Установка
Сборка клиента
Пример клиента со всеми опциями:Методы билдера
.url(url) - основной эндпоинт для отправки запросов. Если не задан, SDK читает переменную окружения ORBITFLARE_RPC_URL.
.urls([...]) - задать основной эндпоинт и все резервные за один вызов. Первый элемент - основной, остальные - fallback.
.fallbackUrl(url) - добавить один резервный эндпоинт. Вызывайте несколько раз, чтобы добавить несколько штук. При сбое основного SDK пробует fallback по порядку.
.fallbackUrls([...]) - то же, что fallbackUrl, но принимает массив.
.apiKey(key) - лицензионный ключ OrbitFlare. Если не задан, SDK читает ORBITFLARE_LICENSE_KEY из окружения. Ключ подставляется в URL при запросе, в самом объекте эндпоинта не хранится.
.commitment(level) - уровень commitment по умолчанию для всех типизированных хелперов. Допустимые значения: 'processed', 'confirmed', 'finalized'. По умолчанию 'confirmed'.
.retry(policy) - как SDK повторяет неудачные запросы. initialDelayMs - ожидание перед первым повтором. multiplier - множитель задержки на каждую попытку. maxDelayMs - верхний предел backoff. maxAttempts - лимит повторов на эндпоинт (0 - бесконечно). По умолчанию: начальная задержка 100 мс, максимум 30 с, множитель 2×, бесконечные попытки.
.timeoutMs(ms) - HTTP-таймаут каждого отдельного запроса. По умолчанию 30 секунд.
Доступные методы RPC
getSlot()
Возвращает текущий номер слота.
getBalance(address)
Возвращает баланс в лампортах для аккаунта.
getAccountInfo(address)
Возвращает полные данные аккаунта или null, если аккаунта нет. Данные закодированы в base64.
getMultipleAccounts(addresses)
Загружает несколько аккаунтов одним вызовом. Автоматически режет на батчи по 100 (лимит Solana на запрос), поэтому можно передать любое число адресов.
getLatestBlockhash()
Возвращает последний blockhash и последнюю высоту блока, на которую он действителен.
getTransaction(signature)
Получает подтверждённую транзакцию по подписи. Возвращает полную транзакцию с метаданными.
getSignaturesForAddress(address, limit)
Возвращает недавние подписи транзакций для адреса, сначала самые новые.
getProgramAccounts(programId)
Возвращает все аккаунты, принадлежащие программе. Может вернуть много данных.
getRecentPrioritizationFees(addresses)
Возвращает недавние приоритетные комиссии для набора аккаунтов. Полезно для оценки цены compute unit.
sendTransaction(txBase64)
Отправляет подписанную транзакцию в сеть. Принимает сериализованную транзакцию в base64. Возвращает подпись транзакции.
simulateTransaction(txBase64)
Симулирует транзакцию без отправки. Возвращает логи, потреблённые compute units и ошибки, если есть.
getTokenAccountsByOwner(owner, mint?, programId?)
Возвращает token-аккаунты кошелька. Передайте конкретный mint или ID программы токенов. Если оба не указаны, по умолчанию используется программа SPL Token.
getTransactionsForAddress(address, options)
Специфичный для OrbitFlare метод, объединяющий getSignaturesForAddress и getTransaction в один вызов. Возвращает GetTransactionsResult с массивом data и опциональным paginationToken для следующей страницы.
Поддерживаются четыре уровня детализации (signatures, none, accounts, full), двунаправленная сортировка, фильтрация по времени/слоту, по статусу и включение token-аккаунтов.
request(method, params)
Вызов любого RPC-метода по имени. SDK собирает JSON-RPC-обёртку, применяет retry и failover, возвращает поле result.