Установка
rpc включён по умолчанию.
Сборка клиента
Пример клиента со всеми опциями:Методы билдера
.url(url) — основной эндпоинт для отправки запросов. Если не задан, SDK читает переменную окружения ORBITFLARE_RPC_URL.
.urls(&[...]) — задать основной эндпоинт и все резервные за один вызов. Первый элемент — основной, остальные — fallback.
.fallback_url(url) — добавить один резервный эндпоинт. Вызывайте несколько раз, чтобы добавить несколько штук. При сбое основного SDK пробует fallback по порядку.
.fallback_urls(&[...]) — то же, что fallback_url, но принимает срез.
.api_key(key) — лицензионный ключ OrbitFlare. Если не задан, SDK читает ORBITFLARE_LICENSE_KEY. Ключ подставляется в URL при запросе, в самом объекте эндпоинта не хранится.
.commitment(level) — уровень commitment по умолчанию для всех типизированных хелперов. Допустимые значения: "processed", "confirmed", "finalized". По умолчанию "confirmed".
.retry(policy) — как SDK повторяет неудачные запросы. initial_delay — ожидание перед первым повтором. multiplier — множитель задержки на каждую попытку. max_delay — верхний предел backoff. max_attempts — лимит повторов на эндпоинт (0 — бесконечно). По умолчанию: начальная задержка 100 мс, максимум 30 с, множитель 2×, бесконечные попытки.
.timeout(duration) — HTTP-таймаут каждого отдельного запроса. По умолчанию 30 секунд.
Доступные методы RPC
get_slot()
Возвращает текущий номер слота.
get_balance(address)
Возвращает баланс в лампортах для аккаунта.
get_account_info(address)
Возвращает полные данные аккаунта или None, если аккаунта нет. Данные закодированы в base64.
get_multiple_accounts(addresses)
Загружает несколько аккаунтов одним вызовом. Автоматически режет на батчи по 100 (лимит Solana на запрос), поэтому можно передать любое число адресов.
get_latest_blockhash()
Возвращает последний blockhash и последнюю высоту блока, на которую он действителен.
get_transaction(signature)
Получает подтверждённую транзакцию по подписи. Возвращает полную транзакцию с метаданными.
get_signatures_for_address(address, limit)
Возвращает недавние подписи транзакций для адреса, сначала самые новые.
get_program_accounts(program_id)
Возвращает все аккаунты, принадлежащие программе. Может вернуть много данных.
get_recent_prioritization_fees(addresses)
Возвращает недавние приоритетные комиссии для набора аккаунтов. Полезно для оценки цены compute unit.
send_transaction(tx_base64)
Отправляет подписанную транзакцию в сеть. Принимает сериализованную транзакцию в base64. Возвращает подпись транзакции.
simulate_transaction(tx_base64)
Симулирует транзакцию без отправки. Возвращает логи, потреблённые compute units и ошибки, если есть.
get_token_accounts_by_owner(owner, mint, program_id)
Возвращает token-аккаунты кошелька. Передайте конкретный mint или ID программы токенов. Если оба None, по умолчанию используется программа SPL Token.
get_transactions_for_address(address, options)
Специфичный для OrbitFlare метод, объединяющий getSignaturesForAddress и getTransaction в один вызов. Возвращает GetTransactionsResult с массивом data и опциональным pagination_token для следующей страницы.
Поддерживаются четыре уровня детализации (signatures, none, accounts, full), двунаправленная сортировка, фильтрация по времени/слоту, по статусу и включение token-аккаунтов.
request(method, params)
Вызов любого RPC-метода по имени. SDK собирает JSON-RPC-обёртку, применяет retry и failover, возвращает поле result.