API
L’API JSON-RPC 2.0 du nœud : méthodes, paramètres, erreurs et limites.
Introduction
Le nœud Parmeton expose une API JSON-RPC 2.0 sur HTTP. Chaque requête est un POST avec un corps JSON ; la réponse contient soit result, soit error.
curl -s http://127.0.0.1:19201/ \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"node.getStatus"}'
Exécutez cet exemple sur le nœud ou via un tunnel privé. Le site public publie uniquement un relevé JSON du seed.
Conventions
| Noms de champs | Les réponses d’état (node, dag, network, mining) utilisent le camelCase. Les paramètres et les pièces de wallet et utxo utilisent le snake_case. |
|---|---|
| Montants | Les montants sont des chaînes de chiffres exprimées en atomes. Le champ nativeDecimals donne le nombre de décimales du PMN. |
| Identifiants de 32 octets | Dans les paramètres, un identifiant (réseau, clé publique, transaction) s’écrit comme un tableau de 32 entiers entre 0 et 255. Les réponses d’état renvoient plutôt des chaînes hexadécimales. Ce format correspond à la version actuelle du nœud et pourra évoluer avec la sécurisation de l’API. |
Méthodes
economics.getInfo
Politique monétaire et compteurs d’émission et de burn du nœud.
- Paramètres
- Aucun.
- Résultat
- Schéma
PMN_ECONOMICS_V4. Les champsnativeExistingAtoms,calendarMintedAtoms,tailMintedAtoms,burnedAtomsetbaseFeeAtomssont exprimés en atomes. Le burn inclut frais réseau et taxe. Les métriques annuelles nécessitent un index historique.
node.getStatus
État général du nœud : version, réseau, durée de fonctionnement, état persistant, activité réseau, minage et offre monétaire.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet :
softwareVersion,environment,networkId,genesisId,stateRoot,uptimeMs,blockCount,peerCount,syncIdle,protocolVersion,blockVersion,p2pVersion,miningMode,miningPhase,mintedSupplyAtoms,nativeDecimals, compteurs de journal et ressources du processus.proofPipelineexpose la latence des workers de rejeu. Les temps d’admission du nœud sont disponibles vianetwork.getInfo.
dag.getInfo
État du graphe de blocs.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet :
blockCount,tipCount,tips,tipsTruncated,selectedParent,virtualDaaScore,finalizedBlock,finalizedDaaScore. La listetipsest limitée à 64 entrées.
network.getInfo
Compteurs du réseau : pairs, blocs orphelins, transactions en attente, synchronisation de l’historique.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet :
peerCount,orphanBlocks,mempoolTransactions,mempoolBytes,outstandingRequests,historyPagesReceived,pendingBlockCandidates,futureBlocks,controlOverflows,transactionDrops…
network.getPeers
Maillage de pairs du nœud.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet de schéma
PMN_PEER_MESH_V1. Si le maillage est désactivé :enabled: false, avecnetworkIdetgenesisId.
mining.getInfo
Compteurs de minage : modèles de blocs émis, soumissions, blocs acceptés et rejetés par cause.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet :
generation,daaScore,difficultyTarget,templatesIssued,submissions,accepted,staleRejected,pomCheapRejected,stateRejected…
mining.getCapabilities
Capacités déclarées par le mineur.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Le nœud vérifie la signature de la déclaration. Les informations sur le GPU, la mémoire et le modèle restent déclaratives. Le champ
hardwareVerifiedvautfalse.
mining.getDiagnostics
Diagnostics détaillés du mineur.
- Paramètres
- Aucun. Omettez
params, ou envoyeznull,[]ou{}. - Résultat
- Objet de diagnostics du pipeline de preuve et de validation, ou
nulls’ils ne sont pas disponibles. Cette méthode sert au suivi technique du mineur, pas à soumettre des blocs.
wallet.getBalance
Solde total d’une ou de plusieurs clés publiques, sorties immatures comprises.
- Paramètres
network_id: identifiant du réseau.public_keys: 1 à 64 clés ed25519 valides et distinctes.include_maturity: booléen, faux par défaut.snapshot_request: identifiant de 32 octets, nul par défaut.- Résultat
- Objet de schéma
AIT_WALLET_BALANCE_V1:totalAtoms(chaîne),utxoCount,stateRoot,daaScore,nativeDecimals,maturitySnapshot(ounull). - Erreurs
- -32602 si un paramètre est invalide ; -32007 si l’état est illisible.
wallet.getCoins
Liste des pièces non dépensées des clés demandées, avec résumé verrouillé et déverrouillé.
- Paramètres
- Les mêmes que
wallet.getBalance. - Résultat
- Instantané de pièces :
txid,output_index,amount_atoms,public_key,lock_daa_score, avec un résumé. Le schéma V4 inclutoriginetcreated_daa_scorepour établir la provenance et l’âge de la sortie. - Erreurs
- -32005 si l’instantané est en préparation : réessayez la même requête. -32007 si le calcul échoue ou dépasse son budget.
utxo.get
Lit des sorties non dépensées à partir de leur point de sortie.
- Paramètres
network_id: identifiant du réseau.outpoints: 1 à 64 objets distincts{ txid, output_index }.- Résultat
- Objet de schéma
PMN_WALLET_COINS_V4_9:coins,state_root,daa_score. - Erreurs
- -32004 si une sortie n’existe pas ou est déjà dépensée ; -32602 si un paramètre est invalide.
Codes d’erreur
| Code | Message | Signification |
|---|---|---|
| -32700 | parse error | Le corps n’est pas du JSON valide. |
| -32600 | invalid request | Requête mal formée, trop grande, version ≠ 2.0, identifiant ou méthode invalide. |
| -32601 | method not found | La méthode n’existe pas. |
| -32602 | invalid params | Paramètres absents, mal formés, en double ou hors limites. |
| -32000 | internal error | Erreur interne du nœud. |
| -32004 | unspent output not found | La sortie demandée n’existe pas ou est dépensée. |
| -32005 | wallet snapshot pending | L’instantané est en préparation : réessayez. |
| -32007 | state read failed | Lecture de l’état impossible, ou instantané échoué. |
Limites
La surface exposée est strictement en lecture seule : aucune méthode ne signe une transaction, ne diffuse une transaction ou ne soumet un bloc. L’API actuelle ne fournit pas non plus une recherche historique générale par hauteur, adresse ou identifiant de bloc.
| Requête | 16 Kio au maximum |
|---|---|
| Réponse | 64 Kio au maximum |
| Délai | 2 secondes par requête |
Identifiant id | nombre, ou chaîne de 64 octets au maximum |
| Nom de méthode | 64 octets au maximum |
| Connexions | 16 simultanées |