Перейти к основному содержимому

Справочник RPC API

Savitri Network предоставляет JSON-RPC 2.0 API через HTTP. Все запросы отправляются методом POST на / или /rpc.

Подключение

  • Эндпоинт по умолчанию: http://127.0.0.1:8545/rpc
  • Протокол: JSON-RPC 2.0 (без REST-эндпоинтов)
  • TLS: Не завершается RPC-сервером. Для продакшна используйте обратный прокси (nginx, Caddy).
  • CORS: По умолчанию ограничен источниками localhost и 127.0.0.1.

Ограничение запросов

ЛимитЗначение
Глобальный200 запросов/секунду
На IP50 запросов/секунду
Максимальный размер пакета100 запросов
Максимальный размер тела1 МБ

При превышении лимитов возвращается HTTP 429 (Too Many Requests).

Формат запроса

{
"jsonrpc": "2.0",
"method": "method_name",
"params": [],
"id": 1
}

Параметры можно передавать как позиционный массив или именованный объект.

Пакетные запросы

Отправьте массив запросов для обработки нескольких вызовов в одном HTTP-запросе:

[
{"jsonrpc": "2.0", "method": "savitri_blockNumber", "params": [], "id": 1},
{"jsonrpc": "2.0", "method": "savitri_health", "params": [], "id": 2}
]

Максимум 100 запросов в пакете.

Коды ошибок

КодЗначение
-32700Ошибка разбора (невалидный JSON)
-32600Невалидный запрос (не JSON-RPC 2.0)
-32601Метод не найден
-32602Невалидные параметры
-32603Внутренняя ошибка сервера
-32001Ресурс не найден
-32002Сервис недоступен (хранилище/мемпул)
-32003Не реализовано

Справочник методов

Методы цепочки

МетодПараметрыОписание
chain_getBlockHeight[]Получить текущую высоту блока
savitri_blockNumber[]Псевдоним для chain_getBlockHeight
chain_getBlock[height]Получить блок по высоте
savitri_getBlockByHeight[height]Псевдоним для chain_getBlock
chain_getBlockByNumber[height]Получить блок по высоте
chain_getBlockByHash[hash]Получить блок по хэшу (сканирует последние 1000 блоков)
chain_getLatestBlock[]Получить последний блок
chain_getChainInfo[]Получить метаданные цепочки (id, имя, высота, версия)
savitri_getBlockHash[height]Получить хэш блока на заданной высоте

Методы транзакций

МетодПараметрыОписание
tx_sendTransaction[raw_tx_hex]Отправить подписанную транзакцию
savitri_sendRawTransaction[raw_tx_hex]Псевдоним для tx_sendTransaction
tx_getTransaction[hash]Получить транзакцию по хэшу
savitri_getTransaction[hash]Псевдоним для tx_getTransaction
tx_getTransactionReceipt[hash]Получить квитанцию транзакции со статусом
tx_getTransactionsByBlock[height]Получить все транзакции в блоке
tx_getPendingTransactions[]Список ожидающих транзакций мемпула

Методы аккаунтов

МетодПараметрыОписание
account_getAccount[address]Получить баланс и nonce
savitri_getAccount[address]Псевдоним для account_getAccount
account_getBalance[address]Получить только баланс
account_getNonce[address]Получить только nonce
account_getTokenBalance[address, token_id]Получить баланс токена

Методы сети

МетодПараметрыОписание
net_version[]Получить версию сети
net_peerCount[]Получить количество подключённых пиров
net_listening[]Проверить, прослушивает ли узел
net_peers[]Список подключённых пиров с оценками
net_nodeInfo[]Получить информацию об узле (id, режим, пиры, высота)

Методы мемпула

МетодПараметрыОписание
mempool_getSize[]Получить количество ожидающих и в очереди
mempool_getPendingTransactions[]Список ожидающих транзакций
mempool_getTransactionStatus[hash]Проверить наличие транзакции в мемпуле

Методы консенсуса / PoU

МетодПараметрыОписание
pou_getConsensusState[]Получить локальную оценку PoU, лидера, эпоху
savitri_pouLocal[]Псевдоним для pou_getConsensusState
savitri_pouPeers[]Получить оценки PoU всех пиров
pou_getValidators[]Список валидаторов с оценками
pou_getStakeInfo[address]Получить информацию о стейке адреса
pou_getEpochInfo[]Получить детали текущей эпохи
savitri_pouGroups[]Список групп PoU (только мастернода)
savitri_pouMasternodes[]Список мастернод (только мастернода)
savitri_pouGroupNodes[group_id]Список узлов в группе (только мастернода)

Методы токенов

МетодПараметрыОписание
token_getTokenInfo[token_id]Получить метаданные токена (имя, символ, десятичные, объём)
token_getTokenBalance[address, token_id]Получить баланс токена
token_getTokenTransfers[token_id]Получить историю переводов

Вспомогательные методы

МетодПараметрыОписание
savitri_health[]Проверка состояния (статус, сервис, режим)
savitri_protocolVersion[]Получить версию протокола
savitri_syncing[]Получить статус синхронизации (текущий/максимальный блок)
savitri_gasPrice[]Получить текущую цену газа
savitri_estimateGas[]Оценить газ для транзакции
savitri_faucetClaim[address]Получить токены тестовой сети (5 SAVT)

Методы Monolith

МетодПараметрыОписание
savitri_getMonolithHead[]Получить метаданные последнего monolith
savitri_getMonolithsForRange[start, end]Получить monoliths в диапазоне высот
savitri_getMonolith[monolith_id]Получить полный блок monolith

Типы ответов

Подробные JSON-схемы каждого объекта ответа см. в разделе Типы ответов.