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

Типы ответов RPC

Подробные JSON-схемы всех объектов ответов RPC.

BlockResponse

Возвращается методами chain_getBlock, chain_getBlockByNumber, chain_getBlockByHash, chain_getLatestBlock.

{
"hash": "0a1b2c...",
"height": 42,
"timestamp": 1710000000,
"parent_hash": "ff0011...",
"state_root": "abc123...",
"tx_root": "def456...",
"proposer": "aabbcc...",
"version": 1,
"transaction_count": 15
}
ПолеТипОписание
hashstringХэш блока (hex, 128 символов = 64 байта SHA-512)
heightu64Номер блока
timestampu64Unix-временная метка (секунды)
parent_hashstringХэш родительского блока (hex)
state_rootstringХэш корня состояния (hex, 64 символа)
tx_rootstringХэш корня транзакций (hex, 64 символа)
proposerstringПубличный ключ предложителя (hex, 64 символа)
versionu32Версия формата блока
transaction_countu64Количество транзакций в блоке

AccountResponse

Возвращается методами account_getAccount, account_getBalance, account_getNonce.

{
"address": "aabbcc...",
"balance": "1000000000000000000",
"nonce": 5
}
ПолеТипОписание
addressstringАдрес аккаунта (hex, 64 символа = 32-байтный pubkey ed25519)
balancestringБаланс в минимальных единицах (u128 в виде десятичной строки, 18 знаков)
nonceu64Текущий nonce транзакции

TransactionResponse

Возвращается методом tx_getTransaction.

{
"hash": "aabbcc...",
"from": "112233...",
"to": "445566...",
"amount": 1000,
"nonce": 1,
"fee": 1000000000000000,
"timestamp": 1710000000,
"block_height": 42
}
ПолеТипОписание
hashstringХэш транзакции (hex)
fromstringАдрес отправителя (hex)
tostringАдрес получателя (hex)
amountu64Сумма перевода
nonceu64Nonce отправителя на момент отправки
feeu128?Комиссия транзакции (опционально)
timestampu64?Временная метка блока при подтверждении
block_heightu64?Высота блока при подтверждении

TransactionReceiptResponse

Возвращается методом tx_getTransactionReceipt.

{
"hash": "aabbcc...",
"from": "112233...",
"to": "445566...",
"amount": 1000,
"fee": 1000000000000000,
"block_height": 42,
"block_hash": "ff0011...",
"timestamp": 1710000000,
"status": "confirmed"
}

Значения статуса: "confirmed", "pending", "not_found".

HealthResponse

Возвращается методом savitri_health.

{
"status": "ok",
"service": "savitri-rpc",
"mode": "lightnode"
}

Значения режима: "lightnode", "masternode", "unknown".

PouLocalResponse

Возвращается методами pou_getConsensusState / savitri_pouLocal.

{
"local_score": 750,
"leader": "12Dxyz...",
"leader_score": 920,
"epoch": 15,
"local_is_leader": false,
"election_ready": true
}
ПолеТипОписание
local_scoreu16?Оценка PoU этого узла (0-1000)
leaderstring?ID пира текущего лидера
leader_scoreu16?Оценка PoU лидера
epochu64?Номер текущей эпохи
local_is_leaderboolЯвляется ли этот узел текущим лидером
election_readyboolГотовы ли условия для проведения выборов

PouPeersResponse

Возвращается методом savitri_pouPeers.

{
"peers": {
"12D3KooW...abc": 750,
"12D3KooW...def": 820
}
}

NodeInfoResponse

Возвращается методом net_nodeInfo.

{
"node_id": "12D3KooW...",
"protocol_version": "1.0.0",
"network": "savitri-testnet",
"listening": true,
"peer_count": 14,
"block_height": 42,
"syncing": false,
"mode": "lightnode"
}

MempoolSizeResponse

Возвращается методом mempool_getSize.

{
"pending": 150,
"queued": 30
}

TokenInfoResponse

Возвращается методом token_getTokenInfo.

{
"token_id": "savt",
"name": "Savitri Test Token",
"symbol": "TEST",
"decimals": 18,
"total_supply": "100000000000000000000000000"
}

FaucetClaimResponse

Возвращается методом savitri_faucetClaim.

{
"tx_hash": "0xabc...",
"amount": "5000000000000000000"
}

Сумма составляет 5 SAVT (5 * 10^18 минимальных единиц).

SyncingResponse

Возвращается методом savitri_syncing.

{
"syncing": true,
"current_block": 100,
"highest_block": 500
}

MonolithInfoResponse

Возвращается методом savitri_getMonolithHead.

{
"exec_height": 1000,
"window_start": 900,
"epoch_id": 5,
"block_count": 100,
"size_bytes": 524288,
"monolith_id": "mono_1000",
"produced_at_ms": 1710000000000,
"cosignature_count": 3
}