Interface de programmation d'application JSON-RPC
Pour qu'une application logicielle puisse interagir avec la blockchain IBAX (récupérer des données de bloc ou envoyer des transactions au réseau), elle doit être connectée à un nœud du réseau IBAX.
En raison de la généralité et de l'extensibilité de l'interface API REST d'origine, celle-ci deviendra de plus en plus complexe avec de plus en plus d'interfaces et de clients différents. Nous réalisons l'importance de l'unification des interfaces pour garantir que tous les clients puissent utiliser le même ensemble de spécifications, indépendamment du nœud spécifique et de l'implémentation du client.
JSON-RPC est un protocole d'appel de procédure à distance (RPC) léger et sans état. Il définit un certain nombre de structures de données et leurs règles de traitement. Il est indépendant du transport, car ces concepts peuvent être utilisés dans le même processus, via une interface, un protocole de transfert hypertexte ou dans de nombreux environnements de messagerie différents. Il utilise JSON (RFC 4627) comme format de données.
JSON-RPC est compatible avec la plupart des interfaces API REST, en conservant l'interface API REST d'origine, le client utilisant l'interface API REST peut facilement passer à l'interface JSON-RPC, une partie de l'interface :
Disponible via l'interface de l'API REST.
Client-side implementation
Chaque client peut utiliser un langage de programmation différent lors de la mise en œuvre de la spécification JSON-RPC, et vous pouvez utiliser le GO-SDK (opens new window).
Exemple de Curl
Les exemples suivants montrent comment utiliser l'API JSON RPC en effectuant des requêtes curl vers les nœuds IBAX. Chaque exemple comprend une description de l'endpoint spécifique, de ses paramètres, du type de retour et un exemple fonctionnel de son utilisation.
Les requêtes curl peuvent renvoyer un message d'erreur lié au type de contenu. Cela est dû à l'option --data qui définit le type de contenu sur application/x-www-form-urlencoded. Si votre requête rencontre ce problème, définissez manuellement l'en-tête en ajoutant -H "Content-Type: application/json" au début de l'appel. Ces exemples n'incluent pas non plus l'URL/protocole Internet et la combinaison de port qui doivent être le dernier paramètre de la commande curl (par exemple, 127.0.0.1:7079). Une requête curl complète avec ces données supplémentaires aurait la forme suivante :
Alliance
Hex
Code hexadécimal
Lors de l'encodage des tableaux de bytes, des hachages et des tableaux de bytecode : l'encodage est en hexadécimal, avec deux chiffres hexadécimaux par byte.
Type de demande
Utilisation uniforme
- Content-Type: application/json
Marqueurs spéciaux
Omitempty
Ce champ est un paramètre facultatif.
Si plusieurs champs "Omitempty" se suivent, mais que vous ne souhaitez passer que la valeur d'un certain champ, vous devez définir le champ indésirable sur null (la valeur null du type de champ), par exemple :
Si seule la valeur du nom est transmise, alors les paramètres de la requête sont transmis comme suit:
"params":[0, "testname"]
- Number La valeur nulle est 0.
Si seule la valeur de la colonne est transmise, alors les paramètres de la requête sont transmis comme suit:
"params":[0,"", "title,page"]
- String valeur vide pour ""
Authorization
En-tête d'autorisation, ajoutez l'autorisation à l'en-tête de la requête, exemple :
name : Authorization value : Bearer +login token
Example:
AccountOrKeyId
Pour le paramètre d'adresse du compte, vous pouvez utiliser deux formats d'adresses, par exemple :
- String - Adresse du compte
"XXXX-XXXX-XXXX-XXXX-XXXX"
ou ID du compte "64842...538120"
.538120"`
- Object - Objet d'adresse
- key_id - Number - ID du compte, Exemple :
{"key_id":-64842...38120}
- account - String - Adresse du compte, Exemple :
{"account": "1196-...-...-...-3496"}
L'ID du compte est préféré lorsque l'adresse du compte et l'ID du compte existent tous deux.
BlockOrHash
Block height or block HASH, example:
- String - Hauteur du bloc
"100"
ou HASH du bloc "4663aa47...a60753c18d9ba9cb4"
Demandes groupées
Cette fonctionnalité peut être utilisée pour réduire la latence du réseau, en particulier lors de l'acquisition d'un grand nombre d'objets de données largement indépendants.
Voici un exemple d'obtention du bloc le plus élevé et du nombre total de transactions :
Gestion des réponses d'erreur
Renvoie le statut 200
en cas d'exécution réussie de la requête.
En cas d'erreur, un objet JSON avec les champs suivants sera renvoyé :
jsonrpc
Identifiant d'erreur.
id
Message texte d'erreur.
error
JSON-RPC Namespaces
ibax Namespace
Interface d'authentification
Interface de commande côté serveur
DInterface de fonction de demande ATA
Obtenir l'interface des métriques
Interface de l'écosystème
Interface de fonction de contrat
net Namespace
rpc Namespace
admin Namespace
debug Namespace
Méthodes de l'interface JSON-RPC
ibax.getUid
Authorization Omitempty
Générer un jeton JWT temporaire, qui doit être passé à Authorization lors de l'appel à login.
Paramètres
Valeur de retour
uid - String - Le numéro de signature.
token - String - Jeton temporaire transmis lors de la connexion (le jeton temporaire a une durée de vie de 5 secondes).
network_id - String - L'identifiant du réseau.
cryptoer - String - Algorithme de courbe elliptique.
hasher - String - Algorithme de hachage.
Dans le cas où aucune autorisation n'est requise (la requête contient Authorization), le message suivant sera renvoyé.
expire - String - Heure d'expiration.
ecosystem - String - ID de l'écosystème.
key_id - String - L'adresse du compte.
address - String - Adresse du portefeuille XXXX-XXXXXX-XXXX-XXXX-XXXX
.
network_id - String - L'identifiant du réseau.
Exemple
ibax.login
Authentification de l'utilisateur.
Authorization
La commande ibax.getUid doit être appelée en premier pour recevoir la valeur unique et la signer.
Le jeton JWT temporaire pour getuid doit être passé dans l'en-tête de la requête.
Si la requête est réussie, le jeton reçu dans la réponse est contenu dans Authorization.
Paramètres
Object - Objet d'appel d'authentification
ecosystem_id - Number - ID de l'écosystème. Si non spécifié, la valeur par défaut est le premier ID d'écosystème.
expire - Number - Durée de vie du jeton JWT en secondes, par défaut 28800, soit 8 heures.
public_key - Hex String - Clé publique du compte au format hexadécimal.
key_id - String -
Adresse du compte XXXX-... -XXXX
.
Utilisez ce paramètre si la clé publique est déjà stockée dans la blockchain. Il ne peut pas être utilisé avec les
paramètres pubkey lorsque ceux-ci sont utilisés ensemble.
signature - String -
Utilisez la clé privée pour signer le UID reçu par la méthode getuid.
Contenu des données de signature : LOGIN+{$network_id}+uid
role_id - Number - ID du rôle, rôle par défaut 0.
Valeur de retour Object - Objet d'authentification
token - String - Jeton JWT.
ecosystem_id - String - ID de l'écosystème.
key_id - String - ID de l'adresse du compte.
account - String - Adresse du portefeuille XXXX-XXXXXX-XXXX-XXXX-XXXX
.
notify_key - String - ID de notification.
isnode - Bool - Indique si l'adresse du compte est le propriétaire du nœud. Valeurs : true,false
.
isowner - Bool - Indique si l'adresse du compte est le créateur de cet écosystème. Valeurs : true,false
.
clb - Bool - Indique si l'écosystème connecté est un CLB. Valeurs : true,false
.
timestamp - String - Horodatage actuel.
roles - Array - Liste des rôles, si aucun rôle n'est disponible, le champ est nul.
- role_id - Number - ID du rôle.
- role_name - String - Nom du rôle.
Exemple
ibax.getAuthStatus
Statut d'authentification de l'utilisateur.
Authorization
Paramètres
Valeur de retour Object - Objet de statut d'authentification
active - Bool - Le statut actuel d'authentification de l'utilisateur. Valeurs : true,false
.
exp - Number - Omitempty Horodatage de la limite de validité du jeton.
Exemple
ibax.getVersion
Retourne la version actuelle du serveur.
Paramètres
Valeur de retour
- vesion - String - numéro de version (
big Version
+ branch name
+ git commit
+ time
+ node status
)
Exemple
ibax.getBalance
Obtenez le solde de l'adresse du compte.
Paramètres
key_id or account - AccountOrKeyId - adresse du compte XXXX-XXXX-XXXX-XXXX-XXXX
ou ID du compte
ecosystem_id - Number - ID de l'écosystème Omitempty Par défaut, 1
Valeur de retour Object - Objet d'obtention du solde
amount - String - la plus petite unité de solde du compte de contrat.
total - String - solde total du compte d'unité minimale (amount + utxo).
utxo - String - solde du compte UTXO d'unité minimale.
digits - Number - Précision
token_symbol - String - Symboles de jeton
Exemple
ibax.getBlocksTxInfo
Retourne une liste contenant des informations supplémentaires sur les transactions dans chaque bloc.
Paramètres
block_id - Number - la hauteur du bloc de départ à interroger
count - Number - nombre de blocs, par défaut est 25, la demande maximale est de 100
Valeur de retour Object - Obtenez l'objet d'information de bloc.
Exemple
ibax.detailedBlocks
Retourne une liste contenant des informations détaillées supplémentaires sur les transactions dans chaque bloc.
Paramètres
block_id - Number - La hauteur du bloc de départ à interroger.
count - Number - nombre de blocs, par défaut est 25, la demande maximale est de 100
Valeur de retour Object - Obtenez l'objet des détails du bloc.
- block_id - String - hauteur du bloc
- header - Object - en-tête du bloc. L'en-tête du bloc contient les champs suivants.
- block_id - Number - la hauteur du bloc.
- time - Number - horodatage de génération du bloc.
- key_id - Number - l'adresse du compte qui a signé le bloc.
- node_position - Number - la position du nœud qui a généré le bloc dans la liste des nœuds honorés.
- version - Number - la version de la structure du bloc.
- hash - Hex String - le hash du bloc.
- node_position - Number - la position du nœud qui a généré le bloc dans la liste des nœuds honorés.
- key_id - Number - l'adresse du compte qui a signé le bloc.
- time - Number - horodatage de génération du bloc.
- tx_count - Number - le nombre de transactions dans le bloc.
- size - String - la taille du bloc.
- rollback_hash - Hex String - le hash de retrait du bloc.
- merkle_root - Hex String - l'arbre de Merkle pour cette transaction de bloc.
- bin_data - Hex String - sérialisation de l'en-tête du bloc, de toutes les transactions dans le bloc, du hash du bloc précédent et de la clé privée du nœud qui a généré le bloc.
- transactions - Object - Transactions. Liste des transactions dans le bloc et des informations supplémentaires sur chaque transaction :
- hash - Hex String - le hash de la transaction.
- contract_name - String - le nom du contrat.
- params - Object - les paramètres du contrat, les champs du contrat peuvent être interrogés via ibax.getContractInfo.
- key_id - Number - l'adresse du compte qui a signé la transaction.
- time - Number - horodatage de génération de la transaction (unité : ms).
- type - Number - le type de la transaction.
- size - String - la taille de la transaction.
Exemple
ibax.getKeyInfo
Retourne une liste d'écosystèmes avec les rôles qui sont enregistrés à l'adresse spécifiée.
Paramètres
- account - String - Adresse du compte
Valeur de retour Object - Précisez l'adresse de l'objet eco-list.
- account - String - Adresse du compte
- ecosystems - Array - Liste des écosystèmes
- ecosystem - String - Identifiant de l'écosystème
- name - String - Nom de l'écosystème
- digits - Number - Précision
- roles - Array - Liste des rôles
- id - String - Identifiant du rôle
- name - String - Nom du personnage
Exemple
ibax.detailedBlock
Retourne une liste détaillée d'informations supplémentaires sur les transactions dans le bloc.
Paramètres
- Block or Hash - BlockOrHash - Hauteur de bloc ou hachage de bloc
Valeur de retour Object - Obtenez l'objet de détails de bloc.
header - Object - En-tête de bloc. L'en-tête de bloc contient les champs suivants.
- block_id - Number - Hauteur du bloc.
- time - Number - Horodatage de génération du bloc.
- key_id - Number - Adresse du compte qui a signé le bloc.
- node_position - Number - Position du nœud qui a généré le bloc dans la liste des nœuds honorables.
- version - Number - Version de la structure du bloc.
hash - Hex String - Hash du bloc.
node_position - Number - Position du nœud qui a généré le bloc dans la liste des nœuds honorables.
key_id - Number - Adresse du compte qui a signé le bloc.
time - Number - Horodatage de génération du bloc.
tx_count - Number - Nombre de transactions dans le bloc.
size - String - Taille du bloc.
rollback_hash - Hex String - Hash de retour en arrière du bloc.
merkle_root - Hex String - Arbre de Merkle pour cette transaction de bloc.
bin_data - Hex String - Sérialisation de l'en-tête du bloc, de toutes les transactions dans le bloc, du hash précédent du bloc et de la clé privée du nœud qui a généré le bloc.
transactions - Array - Liste des transactions dans le bloc et des informations supplémentaires sur chaque transaction :
- hash - Hex String - Hash de la transaction.
- contract_name - String - Nom du contrat.
- params - Object - Paramètres du contrat. Les champs du contrat peuvent être consultés via ibax.getContractInfo.
- key_id - Number - Adresse du compte qui a signé la transaction.
- time - Number - Horodatage de génération de la transaction (unité : ms).
- type - Number - Type de la transaction.
- size - String - Taille de la transaction.
Exemple
ibax.maxBlockId
Obtenez l'ID du bloc le plus élevé sur le nœud actuel.
Paramètres
Valeur de retour
- Block Id - Number - Le bloc le plus élevé sur le nœud actuel
Exemple
ibax.getKeysCount
Obtenez le nombre total d'adresses sur le nœud actuel.
Paramètres
Valeur de retour
- Count - Number - Nombre total d'adresses
Exemple
ibax.getTxCount
Obtenez le nombre total de transactions dans le nœud actuel.
Paramètres
Valeur de retour
- Count - Number - Nombre total de transactions
Exemple
ibax.getTransactionCount
Obtenez le nombre de transactions de bloc.
Paramètres
- block or hash - BlockOrHash - hauteur de bloc ou hachage de bloc
Valeur de retour
- Count - Number - Nombre total de blocs
Exemple
ibax.getBlocksCountByNode
Obtenez le nombre de blocs d'emballage de localisation de nœuds.
Paramètres
nodePosition - Number - nœud en indice
consensusMode - Number - Mode de consensus, paramètres (1: Mode de gestion du créateur; 2: Mode de gouvernance DAO)
Valeur de retour Object - Obtenez l'objet de numéro d'emballage de sous-script de nœud.
Exemple
ibax.honorNodesCount
Obtenir le nombre de nœuds d'honneur
Paramètres
Valeur de retour
- Count - Number - nombre de nœuds
Exemple
ibax.getEcosystemCount
Nombre d'acquisitions d'écosystèmes
Paramètres
Valeur de retour
- Count - Number - Numéro d'écosystème
Exemple
ibax.ecosystemInfo
Accès aux informations sur l'écosystème
Paramètres
- ecosystem id - Number - Identifiant de l'écosystème
Valeur de retour
- id - Number - ID de l'écosystème.
- name - String - Nom de l'écosystème.
- digits - Number - Précision.
- token_symbol - String - Symboles du jeton.
- token_name - String - Nom du jeton.
- total_amount - String - Nombre d'émissions (première émission ou
"0"
s'il n'y a pas eu d'émission). - is_withdraw - Bool - Destructible (
true
: destructible, false
: non destructible). - withdraw - String - Montant de destruction (
"0"
s'il n'est pas destructible ou non détruit). - is_emission - Bool - Incrémentable (
true
: incrémentable, false
: non incrémentable). - emission - String - Incrément (
"0"
s'il n'y a pas d'incrément disponible ou s'il n'y a pas d'incrément). - introduction - String - Introduction à l'écosystème.
- logo - Number - ID du logo de l'écosystème (correspond à l'ID de la table binaire), disponible via l'API RESTful.
- creator - String - Créateur de l'écosystème.
Exemple
ibax.appParams
Retourne une liste de paramètres d'application dans l'écosystème actuel ou spécifié.
Authorization
Paramètres
appid - Number - l'identifiant de l'application.
ecosystem - Number - Omitempty - ID de l'écosystème.
Si non spécifié ou égal à 0, les paramètres de l'écosystème actuel seront renvoyés.
names - String - Omitempty - Filtrer les noms de paramètres d'application.
Une liste de noms séparés par des virgules, par exemple : nom1, nom2
.
offset - Number - Omitempty L'offset, par défaut est 0.
limit - Number Omitempty Le nombre d'entrées, par défaut 100, maximum 100.
Valeur de retour
Array - Liste des paramètres d'application
Exemple
ibax.getEcosystemParams
Obtenez une liste des paramètres de l'écosystème.
Authorization
Paramètres
ecosystem - Number - Omitempty - Identifiant de l'écosystème
Si 0 ou aucun tel paramètre, par défaut : ecid actuel.
names - String - Omitempty - Le nom du paramètre de filtre.
Liste de noms séparés par des virgules, par exemple : nom1, nom2
Les paramètres offset et limit sont invalides lorsqu'il y a un paramètre de filtre.
offset - Number - Omitempty Le décalage, par défaut est 0.
limit - Number Omitempty Le nombre d'entrées, par défaut 100, maximum 100.
Valeur de retour
- list - Array - Chaque élément du tableau contient les paramètres suivants :
- id - String - L'ID du paramètre, unique.
- name - String - Le nom du paramètre.
- value - String - La valeur du paramètre.
- conditions - String - Autorisations pour modifier les paramètres.
Exemple
ibax.getTableCount
Retourne une liste de tables de données pour l'écosystème actuel.
Le décalage et le nombre d'entrées peuvent être définis.
Authorization
Paramètres
offset - Number - Omitempty Le décalage, par défaut 0.
limit - Number Omitempty Le nombre d'entrées, par défaut 100, maximum 100.
Valeur de retour
Exemple
ibax.getTable
Renvoie des informations sur la table de données de la demande actuelle de l'écosystème.
Authorization
Paramètres
- tableName - String - Nom de la table de données.
Valeur de retour
name - String - Le nom de la table de données.
insert - String - Autorisation d'ajouter une entrée.
new_column - String - Autorisation d'ajouter un nouveau champ.
update - String - Autorisation de modifier une entrée.
app_id - String - L'ID de l'application.
conditions - String - Conditions pour modifier les autorisations.
columns - Array - Tableau d'informations relatives aux champs de la table de données :
- name - String - Le nom du champ.
- type - String - Le type de données du champ.
- perm - String - Autorisation de modifier la valeur de ce champ.
Exemple
ibax.getList
Retourne l'entrée de la table de données spécifiée.
Vous pouvez spécifier les colonnes à retourner.
Vous pouvez définir le décalage et le nombre d'entrées.
Vous pouvez définir les critères de requête.
Encodage hexadécimal des tables de données de type BYTEA (tableaux de bytes, hachages, tableaux de code bytes)
Authorization
Paramètres Object - Obtenez l'objet de la table de données.
name - String - Le nom de la table de données.
limit - Number - Omitempty Le nombre d'entrées, par défaut 25.
offset - Number - Omitempty Le décalage, par défaut 0.
order - String - Omitempty Trier par, par défaut id ASC.
columns - String - Omitempty Une liste de colonnes demandées, séparées par des virgules. Si non spécifié, toutes les colonnes seront renvoyées.
La colonne id sera renvoyée dans tous les cas.
where - Object - Omitempty
Critères de requête
Exemple : Si vous souhaitez interroger id>2 et name = john
Vous pouvez utiliser where:{"id":{"$gt":2}, "name":{"$eq": "john"}}
Pour plus de détails, veuillez vous référer à la syntaxe where de DBFind.
Valeur de retour
Exemple
ibax.getSections
Revenir à l'onglet de la liste actuelle des entrées de table de l'écosystème, vous pouvez définir le décalage et le nombre d'entrées.
Si le champ role_access contient une liste de rôles et n'inclut pas le rôle actuel, aucun enregistrement ne sera renvoyé.
Les données dans le champ title seront remplacées par la ressource de langue Accept-Language dans l'en-tête de la requête.
Authorization
Paramètres
- Object - Obtenez l'objet de demande d'actions.
limit - Number - Omitempty - Le nombre d'entrées, par défaut 25 entrées.
offset - Number - Omitempty - Le décalage, par défaut est 0.
lang - String - Omitempty -
Ce champ spécifie le code de ressource multilingue ou de localisation, par exemple en, de. Si la ressource multilingue spécifiée n'est pas trouvée, par exemple en-US, alors recherchez dans le groupe de ressources multilingues, default: en.
Valeur de retour
Exemple
ibax.getRow
Renvoie les entrées de la table de données spécifiée dans l'écosystème actuel. Vous pouvez spécifier les colonnes à renvoyer.
Authorization
Paramètres
tableName - String - Le nom de la table de données.
id - Number - l'ID de l'entrée.
columns - String - Omitempty
Une liste de colonnes demandées, séparées par des virgules. Si aucune colonne n'est spécifiée, toutes les colonnes seront renvoyées.
Si vous ne filtrez pas, vous pouvez laisser un espace vide "".
La colonne "id" sera renvoyée dans tous les cas.
whereColumn - String - Omitempty - Trouver le nom de la colonne (seules les colonnes de type Nombre peuvent être trouvées)
Valeur de retour
- value- Object - objet qui reçoit les valeurs de colonne
- id - String - L'ID de l'entrée.
- ... - La séquence des colonnes demandées.
Exemple
ibax.systemParams
Retourne la liste des paramètres de la plateforme.
Authorization
Paramètres
names - String Omitempty - Une liste de paramètres de requête, séparés par des virgules.
Par exemple names="name1,name2"
.
offset - Number - Omitempty Le décalage, par défaut est 0.
limit - Number Omitempty Le nombre d'entrées, par défaut 100, maximum 100.
Valeur de retour
- list - Array - Chaque élément du tableau contient les paramètres suivants:
- id - String - Identifiant unique
- name - String - Le nom du paramètre.
- value - String - La valeur du paramètre.
- conditions - String - Permissions pour modifier les paramètres.
Exemple
ibax.history
Retourne les enregistrements modifiés des entrées de la table de données spécifiée dans l'écosystème actuel.
Authorization
Paramètres
- nom - String - Le nom de la table de données.
- tableId - Number - l'ID de l'entrée.
Valeur de retour
- list - Array - Chaque élément du tableau contient des enregistrements de modifications pour l'entrée demandée.
Exemple
Obtient l'entrée actuelle dans le champ de la table de données "ecosystempages".
Authorization
Paramètres
- name - String - Spécifiez le nom de l'entrée dans la table.
Valeur de retour
- id - Number - l'ID de l'entrée.
- name - String - Le nom de l'entrée.
- value - String - Le contenu.
- menu - String - Répertoire.
- nodesCount - Number - le nombre de nœuds nécessaires à la validation de la page
- app_id - Number - Identifiant de l'application
- conditions - String - permissions pour modifier les paramètres
Exemple
Obtient l'entrée actuelle dans le champ de tableau de données du menu de l'écosystème.
Authorization
Paramètres
- name - String - Spécifiez le nom de l'entrée dans la table.
Valeur de retour
- id - Number - l'ID de l'entrée.
- name - String - Le nom de l'entrée.
- title - String - Le titre.
- value - String - Le contenu.
- conditions - String - permissions pour modifier les paramètres.
Exemple
ibax.getSnippetRow
Obtient l'entrée actuelle dans le champ de la table de données de l'extrait de l'écosystème.
Authorization
Paramètres
- name - String - Spécifiez le nom de l'entrée dans la table.
Valeur de retour
- id - Number - l'ID de l'entrée.
- name - String - Le nom de l'entrée.
- value - String - Le contenu.
- conditions - String - permissions pour modifier les paramètres.
Exemple
ibax.getAppContent
Obtenir des informations relatives à l'application (y compris la page, l'extrait, le menu)
Authorization
Paramètres
- id - Number - Identifiant de l'application
Valeur de retour
snippets - Array - Tableau d'informations sur les extraits de code
- id - Number - identifiant
- name - String - Nom du code extrait
pages - Array - Tableau d'informations de page
- id - Number - identifiant
- name - String - Nom de la page
contracts - Array - un tableau d'informations sur les contrats
- id - Number - identifiant
- name - String - Nom du contrat
Exemple
ibax.getMember
Obtenir les informations des membres
Paramètres
Valeur de retour
- id - Number - identifiant du membre
- member_name - String - Nom
- image_id - Number - identifiant de l'avatar
- member_info - String - Introduction
Exemple
ibax.getContracts
Obtenez la liste des contrats dans l'écosystème actuel, vous pouvez définir le décalage et le nombre d'entrées.
Authorization
Paramètres
- offset - Number - Omitempty Le décalage, par défaut est 0.
- limit - Number - Omitempty Le nombre d'entrées, par défaut 25.
Valeur de retour
Exemple
ibax.getContractInfo
Renvoie des informations sur le contrat spécifié.
Authorization
Paramètres
- contractName - String - Le nom du contrat. Le format est
@ecosystem_id%%contractName%
, par exemple @1contractName (le nom du contrat eco1contract spécifié contractName) ou contractName (le nom du contrat eco-contract actuel contractName).
Valeur de retour
- id - Number - l'ID du contrat dans la VM.
- name - String - Nom du contrat avec l'ID d'écosystème
@1MainCondition
. - state - Number - l'ID d'écosystème auquel le contrat appartient.
- walletid - String - l'adresse du compte auquel le contrat est lié.
- tokenid - String - l'ID d'écosystème du pass utilisé comme paiement pour le contrat.
- address - String - l'adresse du portefeuille lié au contrat
XXXX-... -XXXX
. - tableid - String - ID de l'entrée dans la table contracts où se trouve le contrat.
- fields - Array - tableau contenant des informations structurelles pour chaque paramètre de la section data du contrat :
- name - String - Le nom du paramètre.
- type - String - Le type du paramètre.
- optional - Bool - options du paramètre,
true
signifie que les paramètres sont optionnels, false
signifie que les paramètres sont obligatoires.
Exemple
ibax.sendTx
Reçoit les transactions dans les paramètres et les ajoute à la file d'attente des transactions, renvoyant un hachage de transaction si la requête est exécutée avec succès. Ce hachage permet d'obtenir la transaction correspondante dans le bloc et est inclus dans le message d'erreur en cas de réponse erronée.
Authorization
Paramètres
- Object - Objet de données de transaction
- tx_key - String - Le contenu de la transaction, ce paramètre peut spécifier n'importe quel nom et prend en charge la réception de plusieurs transactions.
Valeur de retour
- hashes - Array - Tableau de hachages de transactions:
- tx1 - String - Hachage de la transaction 1.
- txN - String - Hachage de la transaction N.
Exemple
ibax.txStatus
Obtient l'ID du bloc et le message d'erreur du hachage de transaction spécifié. Si la valeur de retour de l'ID du bloc et du message d'erreur est nulle, alors la transaction n'est pas encore contenue dans le bloc.
Authorization
Paramètres
- hashes - String - Hachage de transaction, séparé par des virgules.
Valeur de retour
- hash - Object - Le hash de la transaction.
blockid - String - renvoie l'ID du bloc si la transaction a été exécutée avec succès ;
Si l'exécution de la transaction échoue, blockid sera 0
, et l'ID de bloc correspondant sera renvoyé si l'erreur d'exécution de la transaction est pénalisée.
result - String - Renvoie le résultat de la transaction via la variable $result.
errmsg - Object - Omitempty Renvoie un message d'erreur texte si l'exécution de la transaction a échoué.
- type - String - Type d'erreur
- error - String - Message d'erreur
penalty - Number - si l'exécution de la transaction échoue, (0 : pas de pénalité ; 1 : pénalité)
Exemple
ibax.txInfo
Renvoie des informations sur la transaction pour le hachage spécifié, y compris l'ID du bloc et le nombre de confirmations. Si des paramètres optionnels sont spécifiés, le nom du contrat et ses paramètres associés peuvent également être renvoyés.
Paramètres
hash - String - Le hash de transaction.
contractinfo - Bool Omitempty - Identifiant du paramètre de détail du contrat, obtenir les détails du contrat liés à cette transaction, la valeur par défaut est false
.
Valeur de retour
blockid - Number - L'ID du bloc contenant la transaction.
Si la valeur est 0
, aucune transaction n'est trouvée pour ce hachage.
Si la transaction s'est produite sur le nœud actuel, elle peut être obtenue via ibax.txStatus.
confirm - Number - Le nombre de confirmations de nœuds pour ce bloc blockid.
data - Object - Renvoie les détails du contrat si contentinfo=true
est spécifié. Null sinon.
- block_id - Number - hauteur du bloc
- block_hash - String - hash du bloc
- address - String - adresse de création de la transaction
- ecosystem - String - ecid d'envoi de la transaction
- hash - String - hash de la transaction
- expedite - String - frais accélérés, ou "" si non disponible
- contract_name - String - Nom du contrat
- params - Object - paramètres du contrat, les champs du contrat peuvent être interrogés via ibax.getContractInfo
- created_at - Number - quand la transaction a été créée
- size - String - taille de la transaction unité: B;KiB;MiB;GiB;TiB
- status - String - statut (0: succès ; 1: pénalité)
Exemple
ibax.txInfoMultiple
Retourne les informations liées aux transactions pour la liste de hachages spécifiée.
Paramètres
hashes - Array - Une liste de hachages de transactions.
contractinfo - Bool Omitempty - Identifiant du paramètre de détail du contrat, obtenir les détails du contrat liés à cette transaction, la valeur par défaut est false
.
Valeur de retour
- results - Array - Dictionnaire de données avec la transaction hash comme clé et les détails de la transaction comme valeur.
- hash - String - Le hash de la transaction.
- blockid - Number - L'ID du bloc contenant la transaction. Si la valeur est
0
, cela signifie qu'aucune transaction n'a été trouvée pour ce hash. - confirm - Number - Le nombre de confirmations pour ce bloc blockid.
- data - Object - Si
contentinfo=true
est spécifié, les détails du contrat sont renvoyés dans ce paramètre. Null sinon.
- block_id- Number - Hauteur du bloc
- block_hash - String - Hash du bloc
- address - String - Adresse de création de la transaction
- ecosystem - String - ECID d'envoi de la transaction
- hash - String - Hash de la transaction
- expedite - String - Frais accélérés, ou "" si non disponible
- contract_name - String - Nom du contrat
- params - Object - Paramètres du contrat, les champs du contrat peuvent être interrogés via ibax.getContractInfo
- created_at - Number - Date de création de la transaction
- size - String - Taille de la transaction unité: B;KiB;MiB;GiB;TiB
- status - String - Statut (0: succès ; 1: pénalité)
Exemple
ibax.getPageValidatorsCount
Retourne le nombre de nœuds à valider pour la page spécifiée.
Paramètres
- name - String - nom de la page dans le format
@ecosystem_id%%%nom_de_la_page%
, par exemple @1params_list (en spécifiant l'écosystème 1, nom de la page params_list) ou params_list (nom de la page actuelle de l'écosystème params_list).
Valeur de retour
- validate_count - Number - Specifies the number of nodes to be validated by the page.
Exemple
ibax.getPage
Obtient l'arbre des objets JSON de code pour le nom de page spécifié, qui est le résultat du traitement par le moteur de templating.
Authorization
Paramètres
name - String - Le nom de la page avec l'ID de l'écosystème au format @ecosystem_id%%nom_de_la_page%
, par exemple @1page_principale
.
Si vous n'avez pas d'identifiant d'écosystème, la valeur par défaut est de trouver la page actuelle de l'écosystème, par exemple main_page
.
Valeur de retour
menu - String - Le nom du menu auquel la page appartient.
menutree - Array - Arbre d'objet JSON des menus de la page.
tree - Array - Arbre d'objet JSON de la page.
Exemple
Obtient l'arbre des objets JSON de code pour le nom de menu spécifié, qui est le résultat du traitement par le moteur de template.
Authorization
Paramètres
- name - String -
Nom du menu avec l'ID de l'écosystème au format @ecosystem_id%%%nom_du_menu%
, par exemple:
@1main_menu
.
Si vous ne fournissez pas l'identifiant de l'écosystème, le menu de l'écosystème actuel sera affiché par défaut, par exemple:
main_menu
Valeur de retour
Exemple
ibax.getSource
Retourne un arbre d'objets JSON codés pour le nom de page spécifié. N'exécute aucune fonction ni ne reçoit de données. L'arbre d'objets JSON retourné correspond au modèle de page et peut être utilisé dans le concepteur de page visuel. Si la page n'est pas trouvée, une erreur 404 est renvoyée.
Authorization
Paramètres
- name - String -
Nom de page avec l'ID de l'écosystème au format
@ecosystem_id%%%nom_de_page%
, par exemple @1main_page
.
Si vous n'avez pas d'ID d'écosystème, la valeur par défaut est de trouver la page actuelle de l'écosystème, par exemple main_page
.
Valeur de retour
- tree - Array - JSON object tree for the page.
Exemple
ibax.getPageHash
Retourne un hachage SHA256 du nom de page spécifié, ou une erreur 404 si la page n'est pas trouvée.
Pour recevoir le hachage correct lors de l'envoi de requêtes à d'autres nœuds, vous devez également passer le paramètre ecosystem,key_id,role_id. Pour recevoir des pages d'autres écosystèmes, l'ID de l'écosystème doit être préfixé au nom de la page. Par exemple : @2mapage
.
Paramètres
name - String - Le nom de la page avec l'ID de l'écosystème. Le format est @ecosystem_id%%%nom_de_la_page%
, par exemple @1page_principale
, vous pouvez spécifier l'ID de l'écosystème.
ecosystem - Number - Omitempty Identifiant de l'écosystème.
Object - Omitempty Obtenez l'objet de page spécifié.
- key_id - String - L'adresse du compte.
- role_id - String - L'ID du rôle.
Valeur de retour
- Object -
- hash - String - Hachage hexadécimal.
Exemple
ibax.getContent
Renvoie le nombre d'objets JSON pour le code de la page à partir du paramètre template, si le paramètre optionnel source est spécifié comme true
, cet arbre d'objets JSON ne réalise aucune fonction et ne reçoit pas de données. Cet arbre d'objets JSON peut être utilisé dans le concepteur de pages visuelles.
Paramètres
- Object
template - String - Code de la page.
source - Bool - Si spécifié comme true
, l'arbre d'objets JSON n'exécute aucune fonction et reçoit des données.
Valeur de retour
- tree - Object - Arbre d'objet JSON.
Exemple
ibax.getBlockInfo
Renvoie des informations sur l'ID de bloc spécifié.
Paramètres
- id - Number - la hauteur du bloc.
Valeur de retour
hash - String - La valeur du hash du bloc.
key_id - Number - l'adresse du compte qui a signé le bloc.
time - Number - horodatage de la génération du bloc.
tx_count - Number - le nombre total de transactions dans le bloc.
rollbacks_hash - String - Le hash de retour en arrière du bloc.
node_position - Number - La position du bloc dans la liste des nœuds honorés.
consensus_mode Number - Mode de consensus, paramètres (1: mode de gestion du créateur ; 2: mode de gouvernance DAO).
Exemple
ibax.getConfig
Obtenez l'adresse hôte et le port de centrifugo.
Paramètres
Valeur de retour
- centrifugo - String - Omitempty adresse de l'hôte et du port de centrifugo Format de résultat
http://adresse:port
, par exemple : http://127.0.0.1:8100
.
Exemple
net.getNetwork
Obtenir les informations du nœud.
Paramètres
Valeur de retour
- network_id - String - L'identifiant du réseau.
- centrifugo_url - String - Adresse du service de messagerie Centrifugo.
- test - Bool - Indique s'il s'agit d'une chaîne de test.
- private - Bool - Indique si la chaîne est privée.
- honor_nodes - Object - Liste des nœuds honorés.
- tcp_address - String - Adresse TCP.
- api_address - String - Adresse de l'API.
- public_key - String - Clé publique du nœud.
- unban_time - String - Heure de déverrouillage.
Exemple
net.status
Obtenez l'état actuel du nœud.
Paramètres
Valeur de retour
- status - String - État du nœud
"L'état du serveur du nœud est en cours d'exécution" - le nœud est en cours d'exécution
"Le serveur du nœud est en cours de mise à jour" - le nœud est en cours de mise à jour
"Le serveur du nœud est arrêté" - le nœud est suspendu
Exemple
rpc.modules
Obtenez l'interface JSON-RPC actuellement enregistrée.
Paramètres
Valeur de retour
- Array - Interface JSON-RPC en tableau
Exemple
admin.startJsonRpc
Peut être utilisé pour basculer entre les services de changement d'espace de noms JSON-RPC.
Paramètres
- methods - String - Module JSON-RPC, par défaut : "ibax,net"
Valeur de retour
Exemple
admin.stopJsonRpc
Fermez le service JSON-RPC.
Paramètres
Valeur de retour
- bool - Statut d'exécution
Exemple
debug.getNodeBanStat
Obtenir l'état de désactivation du nœud.
Paramètres
Valeur de retour node_position - Number - Indice de nœud.
status - Bool - Statut désactivé, statut de bannissement true
, non désactivé false
.
Exemple
debug.getMemStat
Obtenez l'utilisation actuelle de la mémoire du nœud.
Paramètres
Valeur de retour
- alloc - Number - Nombre d'octets demandés et encore utilisés.
- sys - Number - Nombre d'octets récupérés du système
Exemple