Référence de l'API RPC
Le réseau Savitri expose une API JSON-RPC 2.0 via HTTP. Toutes les requêtes sont envoyées en POST à / ou /rpc.
Connexion
- Point d'accès par défaut :
http://127.0.0.1:8545/rpc - Protocole : JSON-RPC 2.0 (pas de points d'accès REST)
- TLS : Non pris en charge directement par le serveur RPC. Utilisez un proxy inverse (nginx, Caddy) en production.
- CORS : Restreint aux origines
localhostet127.0.0.1par défaut.
Limitation de Débit
| Limite | Valeur |
|---|---|
| Globale | 200 requêtes/seconde |
| Par IP | 50 requêtes/seconde |
| Taille maximale d'un lot | 100 requêtes |
| Taille maximale du corps | 1 Mo |
Le dépassement des limites renvoie HTTP 429 (Trop de requêtes).
Format de Requête
{
"jsonrpc": "2.0",
"method": "method_name",
"params": [],
"id": 1
}
Les paramètres peuvent être passés sous forme de tableau positionnel ou d'objet nommé.
Requêtes par Lot
Envoyez un tableau de requêtes pour traiter plusieurs appels dans une seule requête HTTP :
[
{"jsonrpc": "2.0", "method": "savitri_blockNumber", "params": [], "id": 1},
{"jsonrpc": "2.0", "method": "savitri_health", "params": [], "id": 2}
]
Maximum 100 requêtes par lot.
Codes d'Erreur
| Code | Signification |
|---|---|
| -32700 | Erreur d'analyse (JSON invalide) |
| -32600 | Requête invalide (pas JSON-RPC 2.0) |
| -32601 | Méthode introuvable |
| -32602 | Paramètres invalides |
| -32603 | Erreur interne du serveur |
| -32001 | Ressource introuvable |
| -32002 | Service indisponible (stockage/mempool) |
| -32003 | Non implémenté |
Référence des Méthodes
Méthodes de Chaîne
| Méthode | Paramètres | Description |
|---|---|---|
chain_getBlockHeight | [] | Obtenir la hauteur de bloc actuelle |
savitri_blockNumber | [] | Alias de chain_getBlockHeight |
chain_getBlock | [height] | Obtenir un bloc par hauteur |
savitri_getBlockByHeight | [height] | Alias de chain_getBlock |
chain_getBlockByNumber | [height] | Obtenir un bloc par hauteur |
chain_getBlockByHash | [hash] | Obtenir un bloc par hash (analyse les 1000 derniers blocs) |
chain_getLatestBlock | [] | Obtenir le bloc le plus récent |
chain_getChainInfo | [] | Obtenir les métadonnées de la chaîne (id, nom, hauteur, version) |
savitri_getBlockHash | [height] | Obtenir le hash du bloc à une hauteur donnée |
Méthodes de Transaction
| Méthode | Paramètres | Description |
|---|---|---|
tx_sendTransaction | [raw_tx_hex] | Soumettre une transaction signée |
savitri_sendRawTransaction | [raw_tx_hex] | Alias de tx_sendTransaction |
tx_getTransaction | [hash] | Obtenir une transaction par hash |
savitri_getTransaction | [hash] | Alias de tx_getTransaction |
tx_getTransactionReceipt | [hash] | Obtenir le reçu de transaction avec statut |
tx_getTransactionsByBlock | [height] | Obtenir toutes les transactions d'un bloc |
tx_getPendingTransactions | [] | Lister les transactions en attente dans le mempool |
Méthodes de Compte
| Méthode | Paramètres | Description |
|---|---|---|
account_getAccount | [address] | Obtenir le solde et le nonce |
savitri_getAccount | [address] | Alias de account_getAccount |
account_getBalance | [address] | Obtenir le solde uniquement |
account_getNonce | [address] | Obtenir le nonce uniquement |
account_getTokenBalance | [address, token_id] | Obtenir le solde de jeton |
Méthodes Réseau
| Méthode | Paramètres | Description |
|---|---|---|
net_version | [] | Obtenir la version du réseau |
net_peerCount | [] | Obtenir le nombre de pairs connectés |
net_listening | [] | Vérifier si le nœud écoute |
net_peers | [] | Lister les pairs connectés avec leurs scores |
net_nodeInfo | [] | Obtenir les infos du nœud (id, mode, pairs, hauteur) |
Méthodes Mempool
| Méthode | Paramètres | Description |
|---|---|---|
mempool_getSize | [] | Obtenir le nombre de transactions en attente et en file |
mempool_getPendingTransactions | [] | Lister les transactions en attente |
mempool_getTransactionStatus | [hash] | Vérifier si une transaction est dans le mempool |
Méthodes Consensus / PoU
| Méthode | Paramètres | Description |
|---|---|---|
pou_getConsensusState | [] | Obtenir le score PoU local, le leader, l'époque |
savitri_pouLocal | [] | Alias de pou_getConsensusState |
savitri_pouPeers | [] | Obtenir tous les scores PoU des pairs |
pou_getValidators | [] | Lister les validateurs avec leurs scores |
pou_getStakeInfo | [address] | Obtenir les infos de mise pour une adresse |
pou_getEpochInfo | [] | Obtenir les détails de l'époque actuelle |
savitri_pouGroups | [] | Lister les groupes PoU (masternode uniquement) |
savitri_pouMasternodes | [] | Lister les masternodes (masternode uniquement) |
savitri_pouGroupNodes | [group_id] | Lister les nœuds d'un groupe (masternode uniquement) |
Méthodes de Jetons
| Méthode | Paramètres | Description |
|---|---|---|
token_getTokenInfo | [token_id] | Obtenir les métadonnées d'un jeton (nom, symbole, décimales, offre) |
token_getTokenBalance | [address, token_id] | Obtenir le solde d'un jeton |
token_getTokenTransfers | [token_id] | Obtenir l'historique des transferts |
Méthodes Utilitaires
| Méthode | Paramètres | Description |
|---|---|---|
savitri_health | [] | Vérification de l'état (statut, service, mode) |
savitri_protocolVersion | [] | Obtenir la version du protocole |
savitri_syncing | [] | Obtenir le statut de synchronisation (bloc actuel/plus élevé) |
savitri_gasPrice | [] | Obtenir le prix du gaz actuel |
savitri_estimateGas | [] | Estimer le gaz pour une transaction |
savitri_faucetClaim | [address] | Réclamer des jetons de réseau de test (5 SAVT) |
Méthodes Monolith
| Méthode | Paramètres | Description |
|---|---|---|
savitri_getMonolithHead | [] | Obtenir les dernières métadonnées monolith |
savitri_getMonolithsForRange | [start, end] | Obtenir les monolithes dans une plage de hauteurs |
savitri_getMonolith | [monolith_id] | Obtenir le bloc monolith complet |
Types de Réponse
Voir Types de Réponse pour les schémas JSON détaillés de chaque objet de réponse.