Émettre des appels d'API
Ce guide explique comment passer des appels aux API exposées par les nœuds Avalanche.
Endpoint
Un appel d'API est effectué vers un endpoint, qui est une URL. La base de l'URL est toujours :
[node-ip]:[http-port]
où
node-ip
est l'adresse IP du nœud auquel l'appel est destiné.http-port
est le port sur lequel le nœud écoute les appels HTTP. Ceci est spécifié par l'argument de ligne de commandehttp-port
(valeur par défaut9650
).
Par exemple, l'URL de base pourrait ressembler à ceci: 127.0.0.1:9650
.
La documentation de chaque API spécifie à quel endpoint un utilisateur doit effectuer des appels pour accéder aux méthodes de l'API.
JSON RPC Formatted APIs
Plusieurs API intégrées utilisent le format JSON RPC 2.0 pour décrire leurs demandes et leurs réponses. Ces API incluent l'API Platform et l'API X-Chain.
Faire une requête JSON RPC
Supposons que nous voulions appeler la méthode getTxStatus
de l'API X-Chain. La documentation de l'API X-Chain nous indique que le point de terminaison de cette API est /ext /bc /X
.
Cela signifie que le endpoint auquel nous envoyons notre appel API est :
[node-ip]:[http-port]/ext/bc/X
La documentation de l'API X-Chain nous indique que la signature de getTxStatus
est :
avm.getTxStatus(txID:bytes) -> (status:string)
où :
l'argument
txID
st l'ID de la transaction dont nous obtenons le statut.La valeur retournée
status
est le statut de la transaction en question.
Pour appeler cette méthode :
jsonrpc
spécifie la version du protocole JSON RPC. (En pratique, c'est toujours 2.0)method
spécifie le service (avm
) et la méthode (getTxStatus
) que nous voulons appeler.params
spécifie les arguments de la méthode.id
est l'ID de cette demande. Les ID de demande doivent être uniques.
C'est tout !
Réponse d'une requête JSON RPC (success)
Si l'appel réussit, la réponse ressemblera à ceci :
id
est l'ID de la demande à laquelle cette réponse correspond.result
est les valeurs renvoyées degetTxStatus
.
Réponse d'une requête JSON RPC (error)
Si la méthode API appelée renvoie une erreur, la réponse aura un champ error
à la place deresult
. En outre, il existe un champ supplémentaire, data
, qui contient des informations supplémentaires sur l'erreur qui s'est produite.
Une telle réponse ressemblerait à :
Autres formats d'API
Certaines API, telles que l'API Admin, peuvent utiliser une norme autre que JSON RPC 2.0 pour formater leurs demandes et réponses. Une telle extension doit spécifier comment passer des appels et analyser les réponses dans leur documentation.
Envoi et réception d'octets
Sauf indication contraire, lorsque les octets sont envoyés dans un appel / réponse API, ils sont en représentation CB58, un encodage en base 58 avec une somme de contrôle.
Dernière mise à jour