Les outils de la plateforme AVA — Pt. 3, Slopes, Mettre AVA en jAVAscript

Nicolas Lemaitre
Avalanche fr
Published in
4 min readMar 11, 2020

Aperçu

La plateforme AVA fournit une bibliothèque Javascript pour interagir avec les API de la plateforme AVA. Il permet à un développeur d’envoyer aux API, de créer des actifs, de vérifier les soldes et d’envoyer des actifs sur la plateforme AVA. Il s’agit de la bibliothèque fondamentale derrière le portefeuille AVA et permet aux applications d’intégrer facilement AVA dans leur flux de travail.

Pourquoi Slopes?

Slopes offre une capacité qui se trouve dans le nœud Gecko lui-même : créer et signer des transactions. Avec le magasin de clés intégré, on peut charger leurs clés privées dans la bibliothèque, construire une transaction brute et émettre la transaction vers n’importe quel nœud AVA. Avec une transaction signée en main, les applications basées sur AVA ne dépendent pas du nœud pour la signature sécurisée. Avec Slopes, nous signons localement et envoyons en toute sécurité.

De plus, Slopes offre à l’utilisateur un ensemble complet d’appels API mis à jour pour interagir avec un nœud AVA. Ce code restera en ligne avec AVA et devrait fournir des aides pour résumer de nombreux détails derrière la plate-forme AVA. La documentation complète de Slopes est disponible sur le site Web de documentation: https://docs.ava.network .

Requirements

Slopes nécessite Node.js LTS avec la version 12.13.1 ou une version supérieure pour être compilé.

Slopes dépend de deux modules Node.js suivants en interne, et nous suggérons que les projets les utilisent également :

Buffer : active la bibliothèque Buffer pour le Node.js dans le navigateur.

BN.js : une bibliothèque à grand nombre pour Node.js et navigateur.

Les deux modules ci-dessus sont extrêmement utiles lors de l’interaction avec Slopes car ils sont les types d’entrée et de sortie de nombreuses classes de base dans la bibliothèque.

Installation de slopes

Slopes est compatible avec Javascript et Typescript. Il fonctionne dans les deux environnements Node.js ainsi que dans les navigateurs raisonnablement modernes. Il est fourni sous forme de package npm pratique. Pour mettre des slopes dans des projets, exécutez simplement la commande suivante :

npm install slopes --save

Cela inclut Slopes dans les modules de nœuds du projet existant. Alternativement, Slopes peut-être construit et inclut en tant que fichier Javascript autonome. Pour créer Slopes, exécutez la commande :

Cela génère un répertoire «dist» avec un fichier «pistes.js» qui peut-être importé via une balise de script HTML.

L’API Slopes est assez complète et est entièrement documentée sur https://docs.ava.network . Nous y trouverons des exemples d’importation de Slopes dans des projets, de gestion de clés privées utilisant Slopes, de création d’actifs et d’envoi de transactions.

Création d’applications avec Slopes

L’écriture d’applications avec Slopes est simple. Slopes est importé dans un projet, nous créons une instance de l’objet de classe Slopes, et nous sommes maintenant autorisés à générer une transaction et à appeler l’API Gecko. Slopes suit étroitement l’API Gecko et fournit des fonctions d’aide pour gérer les tâches régulières impliquées dans la construction sur la plate-forme AVA.

Importation des éléments essentiels

Pour importer Slopes et les bibliothèques dont il dépend, nous plaçons ceci en haut du code Node.js:

import * as slopes from "slopes";
import BN from 'bn.js';
import { Buffer } from 'buffer/';
let bintools = slopes.BinTools.getInstance();

Les lignes ci-dessus importent les bibliothèques utilisées dans l’exemple ci-dessous :

  • slopes : module Javascript d’AVA.
  • bn.js : A bignumber module utilisé par Slopes.
  • buffer : Une bibliothèque Buffer.
  • BinTools: Un singleton intégré à Slopes qui est utilisé pour traiter les données binaires.

Un bref tour

Slopes possède quatre API de niveau supérieur exposés :

  • Admin — Envoie au point de terminaison de l’API Admin sur un nœud AVA.
  • AVM — Une API qui gère les clés AVM, crée et signe des transactions AVM et interagit avec l’API AVM d’un nœud AVA.
  • Platform — Envoie des appels au point de terminaison API Platform sur un nœud AVA.
  • NodeKeys — Envoie des appels au point de terminaison API Keystore sur un nœud AVA.

L’API dans Slopes reflète l’API sur le nœud dans un contexte Javascript. Par exemple, pour appeler admin.peers () sur le nœud AVA, dans Slopes, écrivez :

//default is 2, we want to override that for a local network
let mynetworkID = 12345;
let ava = new slopes.Slopes("localhost", 9650, "https", mynetworkID);
let admin = ava.Admin(); // returns Admin API
let peers = admin.peers(); // returns Promise for list of peers

Tous les appels d’API distants renvoient une “Promise” qui renvoie un résultat une fois que le nœud AVA a répondu à la demande.

Une liste complète des appels d’API de noeud AVA et de la fonctionnalité Slopes est disponible sur le site de documentation : https://docs.ava.network .

Le voyage ne fait que commencer

La communauté AVA a un ensemble passionnant de fonctionnalités à dévoiler au cours des prochaines versions. Nous innovons constamment et construisons de meilleures suites d’outils pour accueillir les développeurs. Gardez un œil sur les médias sociaux pour entendre les dernières nouvelles de la plateforme AVA. Rejoignez-nous sur Discord. Il y a d’autres développeurs là-bas pour répondre aux questions sur la plate-forme AVA.

Restez à l’écoute, il y a beaucoup à venir !

Rejoignez-nous sur Telegram ou sur Twitter !

Articles utiles :

--

--