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.

API vérifiée dans le nœud 0.2.51. Onze méthodes de lecture sont implémentées sur une route HTTP unique, POST /. Il n’existe pas encore de route REST séparée.

Exemplecurl
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 champsLes 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.
MontantsLes 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 octetsDans 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 champs nativeExistingAtoms, calendarMintedAtoms, tailMintedAtoms, burnedAtoms et baseFeeAtoms sont 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 envoyez null, [] 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. proofPipeline expose la latence des workers de rejeu. Les temps d’admission du nœud sont disponibles via network.getInfo.

dag.getInfo

État du graphe de blocs.

Paramètres
Aucun. Omettez params, ou envoyez null, [] ou {}.
Résultat
Objet : blockCount, tipCount, tips, tipsTruncated, selectedParent, virtualDaaScore, finalizedBlock, finalizedDaaScore. La liste tips est 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 envoyez null, [] 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 envoyez null, [] ou {}.
Résultat
Objet de schéma PMN_PEER_MESH_V1. Si le maillage est désactivé : enabled: false, avec networkId et genesisId.

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 envoyez null, [] 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 envoyez null, [] 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 hardwareVerified vaut false.

mining.getDiagnostics

Diagnostics détaillés du mineur.

Paramètres
Aucun. Omettez params, ou envoyez null, [] ou {}.
Résultat
Objet de diagnostics du pipeline de preuve et de validation, ou null s’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 (ou null).
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 inclut origin et created_daa_score pour é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

CodeMessageSignification
-32700parse errorLe corps n’est pas du JSON valide.
-32600invalid requestRequête mal formée, trop grande, version ≠ 2.0, identifiant ou méthode invalide.
-32601method not foundLa méthode n’existe pas.
-32602invalid paramsParamètres absents, mal formés, en double ou hors limites.
-32000internal errorErreur interne du nœud.
-32004unspent output not foundLa sortie demandée n’existe pas ou est dépensée.
-32005wallet snapshot pendingL’instantané est en préparation : réessayez.
-32007state read failedLecture 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ête16 Kio au maximum
Réponse64 Kio au maximum
Délai2 secondes par requête
Identifiant idnombre, ou chaîne de 64 octets au maximum
Nom de méthode64 octets au maximum
Connexions16 simultanées

Essayer

La réponse s’affichera ici.