Skip to main content

Установка

Флаг 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.

request_raw(body)

Отправка сырого тела JSON-RPC. Те же retry и failover, что и везде.

Полный пример

Скрипт проверяет состояние сети, баланс SOL и токены кошелька, смотрит недавние транзакции.