Comment Installer et Exécuter AVA Borealis

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

Introduction

La plateforme AVA prend en charge des milliers de TPS, une finalité rapide sur un réseau sans autorisation, le POS comme mécanisme Sybil ainsi qu’une architecture extensible qui permet de créer et d’échanger des actifs rapidement et facilement. La communauté de la cryptographie a été impatiente de voir ce que les développeurs d’AVA ont construit cette année. Avec la sortie de Borealis, le client Gecko d’AVA, tout le monde peut découvrir de quoi parle le buzz.

Pour les nouveaux utilisateurs qui veulent être opérationnels, la communauté AVA est là pour là pour vous aider. Ce tutoriel est un guide pour gérer un réseau local afin que chacun puisse commencer immédiatement à tester la prochaine plateforme AVA. Pour vous aider, nous allons passer par le processus d’installation de Gecko (le client AVA Go) et d’Avash (le “lanceur” de nœuds AVA).

Conditions préalables

Pour exécuter le logiciel, il est nécessaire que les utilisateurs soient à l’aise avec la navigation dans les environnements de ligne de commande. Les tests les plus lourds sur cette version ont été effectués sur Ubuntu 18.04, mais il existe plusieurs options disponibles pour d’autres systèmes d’exploitation sur http://docs.ava.network. Veuillez également consulter ces documents pour les mises à jour fréquentes. Au fur et à mesure de la mise à jour du logiciel des nœuds, les changements seront mis à jour dans la documentation.

Les exigences pour un seul nœud sont les suivantes :

  • Matériel : CPU de 2 GHz ou plus rapide, 3 Go de RAM, 250 Mo de disque dur.
  • Système d’exploitation : Ubuntu >= 18.04 or Mac OS X >= Catalina.
  • Logiciel : Go version >= 1.13.X and set up $GOPATH. (Official Instructions)
  • Réseau : IPv4 or IPv6 network connection, with an open public port.

Pour lancer un réseau local sur une machine, nous utiliserons 4 nœuds, donc une machine environ deux fois plus puissante est conseillée.

La machine doit également être équipée des outils et bibliothèques suivants:

libssl-dev
libuv1-dev
cmake
make
curl
g++/clang++ that supports c++14 (to build salticidae C++ library)

La commande pour installer ces dépendances sur Ubuntu 18.04 est :

sudo apt-get install curl build-essential libssl-dev libuv1-dev cmake make

Installer Gecko — Le client AVA Go :

L’implémentation Go du client AVA, Gecko, est incluse dans cette version de code. C’est le nœud que nous utiliserons pour lancer un réseau sur les machines locales. Il est très riche en fonctionnalités avec une large liste d’API disponibles, documentées ici : https://docs.ava.network/v1.0/en/api/intro-apis/ .

Récupérer le logiciel Gecko :

Pour installer Gecko, vous devez récupérer le logiciel directement en utilisant la commande “go get” :

go get github.com/ava-labs/gecko

Cela devrait faire descendre l'ensemble du client Gecko dans votre $GOPATH.

Construire à partir de la source :

Maintenant que vous avez “pull down” Gecko, vous devez construire le client. Pour ce faire, il suffit d’aller dans le dossier «gecko» et de construire la source:

cd $GOPATH/src/github.com/ava-labs/gecko
./scripts/build.sh

Si tout se passe bien, nous devriez voir quelque chose comme ça lors de la vérification du répertoire «build» :

ccusce@AVAccusce:~/.gvm/pkgsets/go1.13/global/src/github.com/ava-labs/gecko$ cd build/
ccusce@AVAccusce:~/.gvm/pkgsets/go1.13/global/src/github.com/ava-labs/gecko/build$ ls -al
total 58644
drwxr-xr-x 2 ccusce ccusce 4096 Mar 3 19:48 .
drwxr-xr-x 20 ccusce ccusce 4096 Mar 3 19:48 ..
-rwxr-xr-x 1 ccusce ccusce 34411024 Mar 3 19:48 ava
-rwxr-xr-x 1 ccusce ccusce 25625592 Mar 3 19:48 xputtest

Mais si vous voulez vérifier que tout s’est bien passé, vous pouvez également exécuter la commande qui suit :

./scripts/build_test.sh

Si tous les tests réussissent, vous pouvez poursuivre. Sinon, rejoignez notre Discord (en anglais) afin d’obtenir de l’aide de l’équipe de développement AVA..

Installer Avash — Le lanceur de nœuds AVA

Avash est un outil spécialement conçu pour faire du lancement d’un nœud un processus simple et reproductible. Avash divise les bases de données et les fichiers journaux du nœud local dans leurs propres caches. En utilisant Avash, nous pouvons créer des scripts qui permettent de lancer des réseaux de divers modèles personnalisés. Avash efface même les nœuds lancés une fois le client fermé.

Nous allons utiliser Avash pour déployer un réseau à quatre nœuds sur notre machine locale!

Installer Avash

Tout comme notre installation Gecko, nous allons utiliser la commande “go get” pour installer Avash :

go get github.com/ava-labs/avash

Construire à partir de la source

Maintenant que vous avez “pull down” la source pour Avash, nous allons construire le code source.

cd $GOPATH/src/github.com/ava-labs/avash
go build

Ça devrait être ça! Vous verrez l’exécutable «avash» dans «$GOPATH/src/github.com/ava-labs/avash».

Configurer le client

Avash nécessite un fichier de configuration pour être opérationnel. Il est préférable de conserver votre fichier de configuration dans votre répertoire personnel. Il y a déjà un exemple de fichier de configuration, et vous pouvez simplement le copier dans votre répertoire personnel :

cp example.avash.yaml ~/.avash.yaml

En utilisant un éditeur de texte de choix, nous éditerons la configuration dans «~ / .avash.yaml» comme suit :

avalocation: <filepath>
datadir: <directory>
log:
terminal: <log-level>
logfile: <log-level>
dir: <directory>
  • Le champ «avalocation» est le chemin d’accès au fichier binaire AVA, nécessaire pour démarrer Avash. Il devrait être dans votre $GOPATH dans un répertoire “github.com/ava-labs/gecko/build”. Utilisez le chemin complet. Voici un exemple : /home/ccusce/.gvm/pkgsets/go1.13/global/src/github.com/ava-labs/gecko/build/ava
  • Le champ «datadir» est le répertoire de stockage où les données seront conservées par défaut.
  • Facultatif : les champs «log.terminal» et «log.logfile» spécifient respectivement le niveau de journalisation du terminal et des fichiers journaux. Ils sont tous les deux facultatifs, peuvent être l’un de «{verbo, debug, info, warn, error, fatal, off}» et par défaut «info».
  • Facultatif : le champ «log.dir» est le répertoire des fichiers journaux. La valeur par défaut est [datadir]/logs comme valeur.

Une fois ces configurations installées et dans le répertoire personnel, Avash devrait pouvoir se lancer avec la commande :

./avash

Pour voir les commandes disponibles, à l’invite Avash, tapez :

avash> help

Pour voir l’aide d’une commande spécifique, tapez «help» suivi de ce nom de commande. Par exemple, pour en savoir plus sur la commande «procmanager», tapez :

avash> help procmanager

Si tout cela ne fonctionne pas, allez dans le Discord AVA et demandez de l’aide aux développeurs.

Testez la configuration

Toutes nos félicitations ! Vous avez maintenant tout ce dont vous avez besoin pour lancer un réseau sur votre machine locale. Ce réseau durera aussi longtemps que la console Avash sera ouverte. Dès que vous tapez «exit» dans la console Avash, le processus d’Avash fermera et effacera tous les nœuds, ne laissant que leurs journaux et bases de données.

Lancez un réseau local avec Avash

Afin de simplifier le lancement d’un réseau de test, Avash dispose d’un ensemble d’exemples de scripts qui permettront à l’utilisateur de déployer rapidement un réseau. Nous pouvez également créer vos propres scripts, mais dans le cadre de ce didacticiel, nous allons créer un réseau en utilisant le script prédéfini «four_node_network.lua». Pour exécuter ce script, exécutez la commande suivante dans la console Avash :

avash> runscript scripts/four_node_network.lua

Incroyable ! Quatre nœuds avec une machine, tous prêts à traiter les transactions et les demandes de nœuds via nos API pratiques décrites sur https://docs.ava.network .

Jetons un coup d’œil à vos nœuds en cours d’exécution dans la console Avash en tapant la commande :

avash> procmanager list

Nous devrions voir quelque chose comme cela :

Identifiez le nœud RPC et envoyez une commande de test

Maintenant que notre réseau local fonctionne, identifions le nœud API. L’un de ces nœuds est appelé «apinode». Toutes les API prennent en charge JSON-RPC pour envoyer des demandes. Pour plus d’informations sur JSON-RPC 2.0, rendez-vous sur: https://www.jsonrpc.org/

Notez que le script que vous devez exécuter utilise «127.0.0.1» comme adresse IP, autrement connu sous le nom de «localhost» sur la plupart des systèmes. Il a également ouvert le «port http» à 9650. Ce sera la combinaison IP et port que vous utiliserez pour les points de terminaison API. Pour tester cela, vous allez lancer votre première commande, «pairs ()» qui devrait retourner les trois autres nœuds avec lesquels nous sommes connectés. Pour ce faire, vous devez ouvrir une autre fenêtre de terminal distincte d’Avash, et en utilisant «curl», nous enverrez la requête suivante à votre nœud API :

curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.peers"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin

Qui devrait renvoyer une liste complète de pairs :

{
"jsonrpc":"2.0",
"result":{
"peers":[
"127.0.0.1:9155",
"127.0.0.1:9156",
"127.0.0.1:9157"
]
},
"id":1
}

Toutes nos félicitations ! Vous avez lancé votre premier réseau AVA! Il y a beaucoup plus à faire avec la plate-forme AVA répertoriée dans notre documentation : https://docs.ava.network .

Graceful exit

L’une des meilleures parties d’Avash est qu’il efface votre environnement pour vous. Il nous suffit de taper «exit» et tous nos nœuds sortent avec élégance, s’effaçant après eux-mêmes et ne laissant aucun processus suspendu. Les journaux de votre session restent dans votre répertoire de journaux, ainsi que la base de données de nos nœuds que vous avez exécutés.

Prochaines étapes

Maintenant que vous poyvez lancer des nœuds de manière fiable, vous pouvez commencer à envoyer des actifs. Dans les prochains tutoriels, nous allons passer en revue l’installation du portefeuille AVA , du faucet AVA , et expliquer comment en savoir plus sur l’utilisation de notre bibliothèque Javascript, Slopes .

Nous espérons que ce tutoriel vous donnera une base solide pour exécuter et construire sur AVA. Veuillez contacter Discord si vous avez besoin d’aide pour faire fonctionner AVA et voir ce qui est possible.

Rejoignez-nous sur Telegram ou sur Twitter !

Articles utiles:

--

--