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
localhoste127.0.0.1per impostazione predefinita.
Limitazione delle Richieste
| Limite | Valore |
|---|---|
| Globale | 200 richieste/secondo |
| Per IP | 50 richieste/secondo |
| Dimensione massima batch | 100 richieste |
| Dimensione massima corpo | 1 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
| Codice | Significato |
|---|---|
| -32700 | Errore di analisi (JSON non valido) |
| -32600 | Richiesta non valida (non è JSON-RPC 2.0) |
| -32601 | Metodo non trovato |
| -32602 | Parametri non validi |
| -32603 | Errore interno del server |
| -32001 | Risorsa non trovata |
| -32002 | Servizio non disponibile (archiviazione/mempool) |
| -32003 | Non implementato |
Riferimento ai Metodi
Metodi della Catena
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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à
| Metodo | Parametri | Descrizione |
|---|---|---|
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
| Metodo | Parametri | Descrizione |
|---|---|---|
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.