Справочник 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 запросов/секунду |
| На IP | 50 запросов/секунду |
| Максимальный размер пакета | 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-схемы каждого объекта ответа см. в разделе Типы ответов.