Обзор
Узлы OrbitFlare RPC принимают HTTP-запросы в соответствии со спецификацией JSON-RPC 2.0. Этот API позволяет вам взаимодействовать с блокчейном Solana для запроса данных и отправки транзакций.Формат запроса
Чтобы выполнить JSON-RPC запрос, отправьте HTTP POST-запрос со следующими параметрами:- Endpoint:
https://fra.rpc.orbitflare.com?api_key=YOUR_LICENSE_KEY - Заголовок:
Content-Type: application/json - Тело: JSON-объект со следующими полями:
| Поле | Тип | Описание |
|---|---|---|
jsonrpc | string | Должно быть “2.0” |
id | string/number | Уникальный идентификатор запроса |
method | string | Имя RPC-метода |
params | array | Массив параметров метода |
Пример запроса
Формат ответа
Ответы представляют собой JSON-объекты, содержащие:| Поле | Тип | Описание |
|---|---|---|
jsonrpc | string | Всегда “2.0” |
id | string/number | Соответствует идентификатору запроса |
result | varies | Данные результата метода |
error | object | Детали ошибки (если применимо) |
Commitment
Многие методы принимают параметрcommitment, указывающий степень подтверждения данных:
processed: Последний блок (самый быстрый, не подтверждён)confirmed: Подтверждён супербольшинством (баланс между скоростью и финальностью)finalized: Финализирован супербольшинством (самый медленный, полностью подтверждён)
Пакетные запросы
Вы можете отправить несколько запросов в одном HTTP-вызове, передав массив объектов запросов:Распространённые типы
| Тип | Описание |
|---|---|
| Pubkey | Строка публичного ключа, закодированная в base-58 |
| Hash | Строка SHA-256 хеша, закодированная в base-58 |
| Signature | Подпись Ed25519, закодированная в base-58 |
| Slot | Целочисленный номер высоты блока/слота |
Проверка работоспособности
Вы можете проверить работоспособность узла с помощью GET-запроса:ok: Узел работает исправно и актуаленbehind { slots: number }: Узел отстаёт на N слотовerror: Узел неисправен
Доступные методы
Аккаунт и программа
- getAccountInfo
- getMultipleAccounts
- getProgramAccounts
- getMinimumBalanceForRentExemption
Блоки и слоты
- getBlock
- getBlocks
- getBlockHeight
- getSlot
- getSlotLeader
Транзакции
- getTransaction
- getSignatureStatuses
- getSignaturesForAddress
- sendTransaction
- simulateTransaction
Токены
- getTokenAccountBalance
- getTokenAccountsByDelegate
- getTokenAccountsByOwner
- getTokenSupply
Ограничения скорости
Ограничения скорости зависят от тарифного плана. Точные значения RPS и TPS для каждого плана см. на странице Аутентификация и лимиты.Лучшие практики
-
Используйте подходящий уровень commitment
- Используйте
processedдля обновлений интерфейса - Используйте
confirmedдля большинства операций - Используйте
finalizedдля критических операций
- Используйте
-
Оптимизируйте запросы
- Используйте пакетные запросы там, где это возможно
- Реализуйте корректное кэширование
- Выбирайте подходящие интервалы опроса
-
Обрабатывайте ошибки
- Реализуйте надлежащую обработку ошибок
- Используйте экспоненциальную задержку при повторных попытках
- Отслеживайте сбои запросов
Смотрите также
Аутентификация и лимиты
Настройка API-ключа, форматы эндпоинтов, ограничения скорости и подключений.
Коды ошибок
HTTP-коды состояния, ошибки JSON-RPC и способы их обработки.
WebSocket API
Подписки в реальном времени на аккаунты, слоты, логи и многое другое.
Поддержка
По вопросам технической поддержки или вопросам о нашем RPC-сервисе:- Присоединяйтесь к нашему сообществу в Discord
- Проверьте нашу страницу статуса
- Свяжитесь с нашей командой поддержки