Exécuter un nœud Avalanche avec Microsoft Azure

Tutoriel crée par le membre de la communauté: Seq

L'exécution d'un validateur et la mise en jeu avec Avalanche offrent des récompenses extrêmement compétitives comprises entre 9,69% et 11,54% en fonction de la durée pour laquelle vous misez. Le taux maximum est gagné en mettant en jeu pendant un an, tandis que le taux le plus bas pendant 14 jours. Il n'y a pas non plus de slash, vous n'avez donc pas à vous soucier d'une panne matérielle ou d'un bogue dans le client qui vous ferait perdre une partie ou la totalité de votre mise. Au lieu de cela, avec Avalanche, il vous suffit de maintenir actuellement au moins 60% de disponibilité pour recevoir des récompenses. Si vous ne répondez pas à cette exigence, vous n’obtenez pas de punition, mais vous ne recevez pas les récompenses. Vous n'avez pas non plus besoin de placer vos clés privées sur un nœud pour commencer la validation sur ce nœud. Même si quelqu'un pénètre dans votre environnement cloud et accède au nœud, le pire qu'il puisse faire est de désactiver le nœud.

Non seulement l'exécution d'un nœud de validation vous permet de recevoir des récompenses en AVAX, mais plus tard, vous pourrez également valider d'autres sous-réseaux de l'écosystème et recevoir des récompenses dans le jeton natif de leurs sous-réseaux.

Vous n'avez besoin que d'une configuration matérielle modeste (2 cœurs de processeur, 4 Go de mémoire et un disque SSD de 40 Go) pour exécuter un validateur et il n'utilise pas d'énormes quantités d'énergie. Le mécanisme de consensus révolutionnaire d’Avalanche peut s’étendre à des millions de validateurs participant à un consensus à la fois, offrant une décentralisation sans précédent.

Actuellement, le montant minimum requis pour miser pour devenir validateur est de 2000 AVAX (qui peut être réduit au fil du temps à mesure que le prix augmente). Alternativement, les validateurs peuvent également facturer une somme modique pour permettre aux utilisateurs de déléguer leur participation avec eux pour aider à couvrir les coûts de fonctionnement. Vous pouvez utiliser une calculatrice ici pour voir combien de récompenses vous gagneriez lors de l'exécution d'un nœud, par rapport à la délégation.

J'encourage tout le monde à exécuter leurs propres validateurs dans la mesure du possible, mais pour ceux qui ne répondent pas aux exigences minimales de jalonnement et qui souhaitent déléguer, j'exécute actuellement un nœud que vous pouvez trouver ici.

Dans cet article, nous allons suivre le processus de configuration d'un nœud sur Microsoft Azure. Ce didacticiel ne suppose aucune expérience préalable avec Microsoft Azure et passera par chaque étape avec le moins d'hypothèses possibles.

Au moment de cet article, le prix au comptant pour une machine virtuelle avec 2 cœurs et 8 Go de mémoire coûte aussi peu que 0,01060 $ par heure, ce qui équivaut à environ 113,44 $ par an, soit une économie de 83,76% par rapport aux prix normaux de paiement au fur et à mesure. En comparaison, une machine virtuelle dans AWS avec 2 cœurs et 4 Go de mémoire avec un prix au comptant coûte environ 462 $ par an.

Configuration d'abonnement initiale

Configurer l'authentification à 2 facteurs

Vous aurez d'abord besoin d'un compte Microsoft, si vous n'en avez pas déjà, vous verrez une option pour en créer un via le lien suivant. Si vous en avez déjà un, assurez-vous de configurer l'authentification à 2 facteurs pour sécuriser votre nœud en allant sur le lien suivant, puis en sélectionnant “Two-step verification” et en suivant les étapes fournies.

https://account.microsoft.com/security

Une fois que deux facteurs ont été configurés, connectez-vous au portail Azure en accédant à https://portal.azure.com et en vous connectant avec votre compte Microsoft. Lorsque vous vous connectez, vous n'avez pas d'abonnement, nous devons donc en créer un au préalable. Sélectionnez “Subscriptions” comme indiqué ci-dessous:

Sélectionnez ensuite “+ Add” pour ajouter un nouvel abonnement

Si vous souhaitez utiliser la tarification de VM Instance Spot (qui sera considérablement moins chère), vous ne pouvez pas utiliser un compte d'essai gratuit (et vous recevrez une erreur lors de la validation), alors assurez-vous de sélectionner Pay-As-You-Go.

Entrez vos informations de facturation et confirmez votre identité dans le cadre du processus d'inscription, lorsque vous arrivez à Ajouter un support technique, sélectionnez l'option "no technical support" (sauf si vous souhaitez payer un supplément pour l'assistance) et appuyez sur Suivant.

Créer une machine virtuelle

Maintenant que nous avons un abonnement, nous pouvons créer la machine virtuelle Ubuntu pour notre nœud d'avalanche. Sélectionnez l'icône en haut à gauche du menu et choisissez “+ Create a resource”.

Sélectionnez Ubuntu Server 18.04 LTS (ce sera normalement dans la section "popular" ou recherchez-le sur le marché)

Cela vous mènera à la page Créer une machine virtuelle comme indiqué ci-dessous:

Tout d'abord, entrez un nom de machine virtuelle, cela peut être n'importe quoi, mais dans mon exemple, je l'ai appelé Avalanche (cela changera également automatiquement le nom du groupe de ressources pour qu'il corresponde)

Sélectionnez ensuite une région dans la liste déroulante. Sélectionnez l'une des recommandations recommandées dans la région que vous préférez, car elles ont tendance à être les plus grandes avec la plupart des fonctionnalités activées et des prix moins chers. Dans cet exemple, j'ai sélectionné l'Europe du Nord.

Vous avez la possibilité d'utiliser la tarification au comptant pour économiser des sommes importantes sur les coûts de fonctionnement. Les instances ponctuelles utilisent une structure de prix de marché offre et demande. À mesure que la demande d'instances augmente, le prix de l'instance spot augmente. Si la capacité est insuffisante, votre VM sera désactivée. Les chances que cela se produise sont cependant incroyablement faibles, surtout si vous sélectionnez l'option Capacité uniquement. Même dans le cas improbable où il serait désactivé temporairement, vous n'avez besoin que de maintenir au moins 60% de temps pour recevoir les récompenses de jalonnement et il n'y a pas de slash mis en œuvre dans Avalanche.

Sélectionnez Oui pour l'instance Azure Spot, sélectionnez l'Eviction type sur Capacity Only aet assurez-vous de définir la stratégie eviction policy sur Stop / Deallocate — Ceci est très important sinon la machine virtuelle sera supprimée

Choisissez “Select size” pour modifier la taille de la machine virtuelle, et dans le menu, sélectionnez D2s_v4 sous la sélection D-Series v4 (cette taille a 2 cœurs, 8 Go de mémoire et active les SSD Premium). Vous pouvez utiliser des instances F2s_v2 à la place, avec 2 cœurs, 4 Go de mémoire et des disques SSD Premium), mais le prix au comptant est en fait moins cher pour la machine virtuelle plus grande actuellement avec des prix d'instance au comptant. Vous pouvez utiliser ce lien pour afficher les prix dans les différentes régions.

Une fois que vous avez sélectionné la taille de la machine virtuelle, sélectionnez“View pricing history and compare prices in nearby regions” pour voir comment le prix au comptant a changé au cours des 3 derniers mois et s'il est moins coûteux d'utiliser une région voisine qui peut en avoir plus. capacité de réserve.

Au moment de cet article, le prix au comptant pour D2s_v4 en Europe du Nord coûte 0,07975 USD par heure, soit environ 698,61 USD par an. Avec les prix au comptant, le prix tombe à 0,01295 $ l'heure, ce qui équivaut à environ 113,44 $ par an, soit une économie de 83,76%!

Certaines régions sont encore moins chères, l'est des États-Unis par exemple coûte 0,01060 $ l'heure ou environ 92,86 $ par an!

Vous trouverez ci-dessous l'historique des prix de la VM au cours des 3 derniers mois pour l'Europe du Nord et les régions à proximité.​

Moins cher qu'Amazon AWS

À titre de comparaison, une instance c5.large coûte 0,085 USD par heure sur AWS. Cela représente environ 745 USD par an. Les instances ponctuelles peuvent économiser 62%, ce qui ramène ce total à 462 $.

L'étape suivante consiste à modifier le nom d'utilisateur de la machine virtuelle, à s'aligner sur les autres didacticiels d'Avalanche, à changer le nom d'utilisateur en ubuntu. Sinon, vous devrez modifier plusieurs commandes plus loin dans cet article et échanger ubuntu avec votre nouveau nom d'utilisateur.

Disques

Sélectionnez ensuite : Disks our ensuite configurer les disques de l'instance. Il existe 2 choix pour les disques, soit le SSD Premium qui offre de meilleures performances avec un disque de 64 Go coûte environ 10 $ par mois, soit le SSD standard qui offre des performances inférieures et coûte environ 5 $ par mois. Vous devez également payer 0,002 USD pour 10000 unités de transaction (lectures / écritures et suppressions) avec le SSD Standard, alors qu'avec les SSD Premium, tout est inclus. Personnellement, j'ai choisi le SSD Premium pour de meilleures performances, mais aussi parce que les disques sont susceptibles d'être fortement utilisés et peuvent donc même être moins chers à long terme.

Sélectionnez ensuite: Networking pour passer à la configuration du réseau

Configuration du réseau

Vous souhaitez utiliser une adresse IP statique afin que l'adresse IP publique attribuée au nœud ne change pas en cas d'arrêt. Sous IP publique, sélectionnez “Create new”.

Sélectionnez ensuite “Static” comme type d'affectation

Ensuite, nous devons configurer le groupe de sécurité réseau pour contrôler l'accès entrant au nœud Avalanche. Sélectionnez “Advanced” comme type de groupe de sécurité du réseau NIC et sélectionnez “Create new”

Pour des raisons de sécurité, vous souhaitez restreindre les personnes autorisées à se connecter à distance à votre nœud. Pour ce faire, vous voudrez d'abord savoir quelle est votre adresse IP publique existante. Cela peut être fait en accédant à Google et en recherchant "quelle est mon adresse IP".

Il est probable que vous ayez reçu une adresse IP publique dynamique pour votre domicile, sauf si vous l'avez spécifiquement demandée, et votre adresse IP publique attribuée peut donc changer à l'avenir. Cependant, il est toujours recommandé de restreindre l'accès à votre adresse IP actuelle, puis dans le cas où votre adresse IP domestique change et que vous ne pouvez plus vous connecter à distance à la machine virtuelle, vous pouvez simplement mettre à jour les règles de sécurité réseau avec votre nouvelle adresse IP publique afin que vous soyez capable de se connecter à nouveau.

REMARQUE: Si vous devez modifier les règles du groupe de sécurité réseau après le déploiement si votre adresse IP domestique a changé, recherchez «avalanche-nsg» et vous pouvez modifier la règle pour SSH et le port 9650 avec la nouvelle adresse IP. Le port 9651 doit rester ouvert à tous, car c'est ainsi qu'il communique avec les autres nœuds Avalanche.

Maintenant que vous avez votre adresse IP publique, sélectionnez la règle Autoriser ssh par défaut sur la gauche sous les règles entrantes pour la modifier. Changez la source de “Any” à “IP Addresses”, puis entrez votre adresse IP publique que vous avez trouvée sur google dans le champ Adresse IP source. Modifiez la priorité vers le bas à 100, puis appuyez sur "Save".

Ensuite, sélectionnez “+ Add an inbound rule” pour ajouter une autre règle pour l'accès RPC, cela devrait également être limité à votre adresse IP uniquement. Remplacez la source par "Adresses IP" et entrez votre adresse IP publique renvoyée par Google dans le champ IP source. Cette fois, changez le champ “Destination port ranges” sur 9650 et sélectionnez “TCP” comme protocole. Changez la priorité à 110 et donnez-lui un nom de “Avalanche_RPC” et appuyez sur "Add".

Sélectionnez “+ Add an inbound rule” our ajouter une règle finale pour le protocole Avalanche afin que d'autres nœuds puissent communiquer avec votre nœud. Cette règle doit être ouverte à tous, alors gardez «Source» sur “Any”. Changez la plage de ports de destination sur «9651» et changez le protocole sur «TCP». Entrez une priorité de 120 et un nom de Avalanche_Protocol et appuyez sur "Add".

Le groupe de sécurité réseau doit ressembler à celui ci-dessous (bien que votre adresse IP publique soit différente) et appuyez sur OK.

Laissez les autres paramètres par défaut, puis appuyez sur “Review + create” pour créer la machine virtuelle.

Il effectuera d'abord un test de validation. Si vous recevez une erreur ici, assurez-vous d'avoir sélectionné le modèle d'abonnement Pay-As-You-Go et que vous n'utilisez pas l'abonnement d'essai gratuit car les instances Spot ne sont pas disponibles. Vérifiez que tout semble correct et appuyez sur “Create”

Vous devriez alors recevoir une invite vous demandant de générer une nouvelle paire de clés pour connecter votre machine virtuelle. Sélectionnez “Download private key and create resource” pour télécharger la clé privée sur votre PC.

Une fois votre déploiement terminé, sélectionnez “Go to resource”

Modifier la taille du disque provisionné

Par défaut, la VM Ubuntu sera provisionnée avec un SSD Premium de 30 Go, alors que cela devrait être suffisant, je ne voulais personnellement pas avoir à le prolonger plus tard dans la période de mise. J'ai inclus les étapes ci-dessous si vous souhaitez l'augmenter à 64 Go ou si vous devez l'augmenter ultérieurement.

Pour modifier la taille du disque, la machine virtuelle doit être arrêtée et désallouée. Sélectionnez “Stop” et attendez que l'état soit deallocated. Sélectionnez ensuite “Disks” sur la gauche.

Sélectionnez le nom du disque actuellement provisionné pour le modifier

Sélectionnez “Size + performance” sur la gauche en-dessous de settings et changez la taille à 64 Go et appuyez sur “Resize”.

Faire cela maintenant étendra également la partition automatiquement dans ubuntu. Pour revenir à la page de présentation de la machine virtuelle, sélectionnez Avalanche dans les paramètres de navigation.

Puis démarrez la VM

Connectez-vous au nœud Avalanche

Les instructions suivantes montrent comment se connecter à la machine virtuelle à partir d'une machine Windows 10. Pour obtenir des instructions sur la connexion à partir d'une machine ubuntu, consultez le didacticiel AWS.

Sur votre PC local, créez un dossier à la racine du lecteur C: appelé Avalanche, puis déplacez le fichier Avalanche_key.pem que vous avez téléchargé précédemment dans le dossier. Cliquez ensuite avec le bouton droit sur le fichier et sélectionnez Propriétés. Accédez à l'onglet de sécurité et sélectionnez «Avancé» en bas

Sélectionnez «Désactiver l'héritage», puis «Supprimer toutes les autorisations héritées de cet objet» pour supprimer toutes les autorisations existantes sur ce fichier.

Sélectionnez ensuite «Ajouter» pour ajouter une nouvelle autorisation et choisissez «Sélectionner un mandant» en haut. Dans la fenêtre contextuelle, entrez votre compte d'utilisateur que vous utilisez pour vous connecter à votre machine. Dans cet exemple, je me connecte avec un utilisateur local appelé Seq, vous pouvez avoir un compte Microsoft que vous utilisez pour vous connecter, alors utilisez le compte avec lequel vous vous connectez à votre PC et appuyez sur "Vérifier les noms" et il doit le souligner pour vérifier et appuyer sur OK.

Ensuite, dans la section des autorisations, assurez-vous que seuls «Lire et exécuter» et «Lire» sont sélectionnés et appuyez sur OK.

Cela devrait ressembler à quelque chose comme ci-dessous, sauf avec un nom de PC / un compte d'utilisateur différent. Cela signifie simplement que le fichier de clé ne peut être modifié ou accessible par aucun autre compte sur cette machine à des fins de sécurité afin qu'ils ne puissent pas accéder à votre nœud Avalanche.

Trouvez l'adresse IP publique de votre nœud Avalanche

Depuis le portail Azure, notez votre adresse IP publique statique qui a été attribuée à votre nœud.

Pour vous connecter au nœud Avalanche, ouvrez l'invite de commande en recherchant «cmd» et en sélectionnant «Invite de commandes» sur votre ordinateur Windows 10.

Ensuite, utilisez la commande suivante et remplacez EnterYourAzureIPHere par l'adresse IP statique indiquée sur le portail Azure.

ssh -i C:\Avalanche\Avalanche_key.pem ubuntu@EnterYourAzureIPHere

pour mon exemple c'est:

ssh -i C:\Avalanche\Avalanche_key.pem ubuntu@13.74.10.81

La première fois que vous vous connectez, vous recevrez une invite vous demandant de continuer, entrez oui.

Vous devriez maintenant être connecté à votre Node.

La section suivante est tirée de l'excellent tutoriel de Colin pour configurer un nœud Avalanche sur AWS d'Amazon.

Mettre à jour Linux avec des correctifs de sécurité

Maintenant que nous sommes sur notre nœud, il est judicieux de le mettre à jour avec les derniers packages. Pour ce faire, exécutez les commandes suivantes, une par une, dans l'ordre:

sudo apt updatesudo apt upgrade -ysudo reboot

Cela mettra notre instance à jour avec les derniers correctifs de sécurité pour notre système d'exploitation. Cela redémarrera également le nœud. Nous donnerons au nœud une minute ou deux pour redémarrer, puis nous reconnecterons, comme auparavant.

Configurer le nœud Avalanche

Nous devons maintenant configurer notre nœud Avalanche. Pour ce faire, suivez le didacticiel Configurer le nœud d'avalanche avec le programme d'installation qui automatise le processus d'installation. Vous aurez besoin de «l'adresse IP publique IPv4» copiée à partir du portail Azure que nous avons configuré précédemment.

Une fois l'installation terminée, notre nœud devrait maintenant être bootstrap! Nous pouvons exécuter la commande suivante pour jeter un coup d'œil au dernier statut du nœud avalanchego:

sudo systemctl status avalanchego

Pour vérifier l'état du bootstrap, nous devons adresser une requête au RPC local à l'aide de "curl". Cette demande est la suivante:

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

Le nœud peut prendre un certain temps (plus d'une heure à ce moment d'écriture) pour démarrer. Le boostrap signifie que le nœud télécharge et vérifie l'historique des chaînes. Donnez-lui un peu de temps. Une fois que le nœud a terminé l'amorçage, la réponse sera:

{    "jsonrpc": "2.0",    "result": {        "isBootstrapped": true    },    "id": 1}

Nous pouvons toujours utiliser «sudo systemctl status avalanchego» pour consulter le dernier statut de notre service, comme auparavant.

Obtenez votre NodeID

Nous devons absolument obtenir notre NodeID si nous prévoyons de faire une validation sur ce nœud. Ceci est également récupéré à partir du RPC. Nous appelons la commande curl suivante pour obtenir notre NodeID.

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

Si tout va bien, la réponse devrait ressembler à quelque chose comme:

{"jsonrpc":"2.0","result":{"nodeID":"NodeID-Lve2PzuCvXZrqn8Stqwy9vWZux6VyGUCR"},"id":1}

Cette partie qui dit, "NodeID-Lve2PzuCvXZrqn8Stqwy9vWZux6VyGUCR" est notre NodeID, le tout. Copiez-le et conservez-le dans nos notes. Cette valeur n’a rien de confidentiel ou de sécurisé, mais c’est un must absolu lorsque nous soumettons ce nœud pour être un validateur.

Sauvegardez vos clés de mise en jeu

La dernière chose à faire est de sauvegarder nos clés de mise en jeu dans le cas intempestif où notre instance est corrompue ou arrêtée. C’est simplement une bonne pratique pour nous de conserver ces clés. Pour les sauvegarder, nous utilisons la commande suivante:

scp -i C:\Avalanche\avalanche_key.pem -r ubuntu@EnterYourAzureIPHere:/home/ubuntu/.avalanchego/staking C:\Avalanche

Comme précédemment, nous devrons remplacer "EnterYourAzureIPHere" par la valeur appropriée que nous avons récupérée. Cela sauvegarde notre clé de mise en jeu et notre certificat de mise en jeu dans le dossier C:\Avalanche que nous avons créé auparavant.

Dernière mise à jour