Avash

Avash est un client shell pour interagir avec la plate-forme Avalanche

Avash est un environnement d'exécution de shell avec état temporaire utilisé pour déployer des réseaux locaux et distants et y exécuter des tests. Les nœuds d'avalanche déployés localement par Avash sont fermés à la sortie d'Avash.

Avash offre la possibilité d'exécuter des scripts Lua qui peuvent exécuter une séquence de commandes shell dans Avash. Cela permet l'automatisation des tâches régulières. Par exemple, on pourrait créer un script Lua pour déployer un réseau de nœuds Avalanche où chaque nœud a une configuration donnée. Cela facilite les tests.

Installation

Conditions requises

  • Golang 1.13+

  • Un client Avalanche mettant en œuvre des indicateurs CLI standard d'Avalanche

Installation rapide

  • Installer et créer un client Avalanche

  • cd $ GOPATH

  • go get github.com/ava-labs/avash

  • cd src/github.com/ava-labs/avash

  • go build

Configuration

Bien qu'Avash puisse être démarré sans fichier de configuration prédéfini, il est disponible en tant qu'option pour modifier certains paramètres globaux du shell. Avash recherchera .avash.yaml dans le répertoire $HOME par défaut, mais l'indicateur --config peut être utilisé pour définir un chemin de fichier de configuration personnalisé à rechercher.

Voici le format d'un fichier de configuration Avash :

Les arguments de champ sont décrits comme suit :

  • <filepath> - Un chemin complet vers un fichier. Exemple : /home/username/file.txt

  • <directory> - Un chemin complet vers un répertoire. Exemple :/home/username/folder

  • <log-level> - Un niveau de journal valide pour filtrer les messages journalisés. Doit être l'un des suivants:{verbo, debug, info, warn, error, fatal, off}

Fields

avalancheLocation

datadir

log.terminal

log.logfile

log.dir

Utilisation d'Avash

Ouvrir une shell

Démarrez une nouvelle instance d'Avash avec ./avash.

Exécutezhelp pour voir les commandes disponibles.

Nous pouvons également lancer help [command] pour voir la liste des options disponibles pour cette commande.

Exemple :

Commandes

Avash est livré avec les commandes root suivantes :

  • avawallet - Outils pour interagir avec Avalanche Payments sur le réseau.

  • callrpc - Emet un appel RPC à un nœud.

  • exit - Sortez du shell.

  • help - Aide sur n'importe quelle commande.

  • network - Outils d'interfaçage avec des hôtes distants.

  • procmanager - Accédez au gestionnaire de processus pour le client avash.

  • runscript - Exécute le script fourni.

  • setoutput - Définit la sortie du journal du shell.

  • startnode - Démarre un processus de nœud et lui donne un nom.

  • varstore - Outils pour créer des magasins de variables et imprimer des variables à l'intérieur.

Celles-ci peuvent être énumérées ou complétées automatiquement à l'aide de la touche de tabulation et sont expliquées en détail ci-dessous.

avawallet

callrpc

exit

help

network

CONFIGURATION

Pour déployer et supprimer des réseaux, un fichier de configuration réseau .yaml est requis. Un exemple est fourni dans la base de code Avash à network/example.network.yamlet doit avoir le format suivant:

Ce format peut être mis à l'échelle pour déployer simultanément de nombreux nœuds sur de nombreux hôtes, en utilisant - dans la syntaxe YAML pour ajouter de nouveaux éléments à la liste d'hôtes et à la liste de nœuds de chaque hôte. Une liste complète des indicateurs CLI peut être trouvée ici, où --node-flagcorrespond ànodeflagdans notre fichier de configuration.

procmanager

runscript

setoutput

startnode

varstore

Écriture de scripts

Avash importe le gopher-lua pour exécuter les scripts Lua. Les scripts ont des hooks à leur disposition qui permettent à l'utilisateur d'écrire du code qui appelle l'environnement Avash actuel.

Les fonctions disponibles pour Lua sont :

  • avash_call - Prend une chaîne et l'exécute en tant que commande Avash, renvoyant la sortie

  • avash_sleepmicro - Prend un entier non signé représentant les microsecondes et dort pendant cette période

  • avash_setvar - Prend une portée de variable (string), un nom de variable (string) et une variable (string) et la place dans le magasin de variables. L'étendue doit déjà avoir été créée.

Lors de l'écriture de Lua, la fonctionnalité standard de Lua est disponible pour automatiser l'exécution de séries de commandes Avash. Cela permet à un développeur d'automatiser :

  • Déploiements de réseau local

  • Envoi de transactions

  • Commander des cas de test de transaction

  • Enregistrer la valeur des ensembles UTXO et des résultats de test sur le disque

  • Comparez les valeurs de deux ensembles UTXO de nœuds

  • Suivre les résultats attendus et comparez-les avec de vrais nœuds

Des exemples de scripts Lua se trouvent dans le dossier ./scripts.

Mis à jour

Ce contenu vous a-t-il été utile ?