Passa al contenuto principale

Riferimento API RPC

Savitri Network espone un'API JSON-RPC 2.0 tramite HTTP. Tutte le richieste vengono inviate come POST a / o /rpc.

Connessione

  • Endpoint predefinito: http://127.0.0.1:8545/rpc
  • Protocollo: JSON-RPC 2.0 (nessun endpoint REST)
  • TLS: Non terminato dal server RPC. Usa un reverse proxy (nginx, Caddy) in produzione.
  • CORS: Limitato alle origini localhost e 127.0.0.1 per impostazione predefinita.

Limitazione delle Richieste

LimiteValore
Globale200 richieste/secondo
Per IP50 richieste/secondo
Dimensione massima batch100 richieste
Dimensione massima corpo1 MB

Il superamento dei limiti restituisce HTTP 429 (Troppe Richieste).

Formato della Richiesta

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

I parametri possono essere passati come array posizionale o oggetto con nome.

Richieste in Batch

Invia un array di richieste per elaborare più chiamate in una singola richiesta HTTP:

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

Massimo 100 richieste per batch.

Codici di Errore

CodiceSignificato
-32700Errore di analisi (JSON non valido)
-32600Richiesta non valida (non è JSON-RPC 2.0)
-32601Metodo non trovato
-32602Parametri non validi
-32603Errore interno del server
-32001Risorsa non trovata
-32002Servizio non disponibile (archiviazione/mempool)
-32003Non implementato

Riferimento ai Metodi

Metodi della Catena

MetodoParametriDescrizione
chain_getBlockHeight[]Ottieni l'altezza corrente del blocco
savitri_blockNumber[]Alias di chain_getBlockHeight
chain_getBlock[height]Ottieni il blocco per altezza
savitri_getBlockByHeight[height]Alias di chain_getBlock
chain_getBlockByNumber[height]Ottieni il blocco per altezza
chain_getBlockByHash[hash]Ottieni il blocco per hash (scansiona gli ultimi 1000 blocchi)
chain_getLatestBlock[]Ottieni il blocco più recente
chain_getChainInfo[]Ottieni i metadati della catena (id, nome, altezza, versione)
savitri_getBlockHash[height]Ottieni l'hash del blocco all'altezza specificata

Metodi delle Transazioni

MetodoParametriDescrizione
tx_sendTransaction[raw_tx_hex]Invia una transazione firmata
savitri_sendRawTransaction[raw_tx_hex]Alias di tx_sendTransaction
tx_getTransaction[hash]Ottieni la transazione per hash
savitri_getTransaction[hash]Alias di tx_getTransaction
tx_getTransactionReceipt[hash]Ottieni la ricevuta della transazione con stato
tx_getTransactionsByBlock[height]Ottieni tutte le transazioni in un blocco
tx_getPendingTransactions[]Elenca le transazioni in attesa nella mempool

Metodi dell'Account

MetodoParametriDescrizione
account_getAccount[address]Ottieni saldo e nonce
savitri_getAccount[address]Alias di account_getAccount
account_getBalance[address]Ottieni solo il saldo
account_getNonce[address]Ottieni solo il nonce
account_getTokenBalance[address, token_id]Ottieni il saldo del token

Metodi di Rete

MetodoParametriDescrizione
net_version[]Ottieni la versione di rete
net_peerCount[]Ottieni il numero di peer connessi
net_listening[]Verifica se il nodo è in ascolto
net_peers[]Elenca i peer connessi con i punteggi
net_nodeInfo[]Ottieni le informazioni del nodo (id, modalità, peer, altezza)

Metodi della Mempool

MetodoParametriDescrizione
mempool_getSize[]Ottieni i conteggi di pending e queued
mempool_getPendingTransactions[]Elenca le transazioni in attesa
mempool_getTransactionStatus[hash]Verifica se la transazione è nella mempool

Metodi Consenso / PoU

MetodoParametriDescrizione
pou_getConsensusState[]Ottieni punteggio PoU locale, leader, epoch
savitri_pouLocal[]Alias di pou_getConsensusState
savitri_pouPeers[]Ottieni tutti i punteggi PoU dei peer
pou_getValidators[]Elenca i validatori con i punteggi
pou_getStakeInfo[address]Ottieni le informazioni di staking per indirizzo
pou_getEpochInfo[]Ottieni i dettagli dell'epoch corrente
savitri_pouGroups[]Elenca i gruppi PoU (solo masternode)
savitri_pouMasternodes[]Elenca i masternode (solo masternode)
savitri_pouGroupNodes[group_id]Elenca i nodi in un gruppo (solo masternode)

Metodi dei Token

MetodoParametriDescrizione
token_getTokenInfo[token_id]Ottieni i metadati del token (nome, simbolo, decimali, offerta)
token_getTokenBalance[address, token_id]Ottieni il saldo del token
token_getTokenTransfers[token_id]Ottieni la cronologia dei trasferimenti

Metodi di Utilità

MetodoParametriDescrizione
savitri_health[]Verifica stato (status, service, mode)
savitri_protocolVersion[]Ottieni la versione del protocollo
savitri_syncing[]Ottieni lo stato di sincronizzazione (blocco corrente/più alto)
savitri_gasPrice[]Ottieni il prezzo del gas corrente
savitri_estimateGas[]Stima il gas per una transazione
savitri_faucetClaim[address]Richiedi token testnet (5 SAVT)

Metodi Monolith

MetodoParametriDescrizione
savitri_getMonolithHead[]Ottieni i metadati dell'ultimo monolith
savitri_getMonolithsForRange[start, end]Ottieni i monolith nell'intervallo di altezza
savitri_getMonolith[monolith_id]Ottieni il blocco monolith completo

Tipi di Risposta

Vedi Tipi di Risposta per gli schemi JSON dettagliati di ciascun oggetto di risposta.