Préparer le système d'exploitation
Comme décrit dans la section précédente, il existe de nombreux fournisseurs VPS et cloud différents. Rédiger des guides pour tous serait quelque peu impraticable, mais dans cette section, nous allons passer en revue un flux de travail typique pour préparer une machine virtuelle hébergée sur Amazon Web Services. Plus précisément, nous expliquerons comment sélectionner la configuration matérielle virtuelle appropriée et comment préparer le système d'exploitation pour Rocket Pool. Vous devriez pouvoir extrapoler comment appliquer ces étapes à n'importe quel fournisseur une fois que vous vous serez familiarisé avec leur écosystème.
Créer une machine virtuelle EC2
La première étape consiste à créer un compte AWS si vous n'en avez pas déjà un. Suivez les instructions fournies dans ce lien ou connectez-vous avec un compte existant, et vous finirez par accéder au tableau de bord de votre console de gestion :
Ensuite, cliquez sur le menu déroulant en haut à droite de l'écran pour sélectionner la région géographique dans laquelle vous souhaitez que votre serveur réside physiquement. Les serveurs ne peuvent pas être déplacés entre les régions une fois qu'ils sont créés, vous devez donc vous assurer que vous êtes satisfait de l'option actuellement sélectionnée avant de créer réellement le serveur.
Maintenant, cliquez sur Services dans la barre d'outils. Allez dans la section Compute et sélectionnez EC2. Votre tableau de bord devrait changer pour afficher une vue similaire à celle-ci :
Cliquez sur le bouton orange Launch Instance et sélectionnez Launch Instance dans la liste des options pour créer une nouvelle machine. On vous présentera une marketplace d'images de machines Amazon. Chacune d'entre elles représente un instantané spécifique d'une machine avec un système d'exploitation préinstallé et quelques autres composants logiciels utiles.
Pour un nœud Rocket Pool, nous vous recommandons d'utiliser l'image Ubuntu Server 24.04 LTS (HVM).
Ensuite, vous devrez choisir un type d'instance. Cela détermine les ressources matérielles virtuelles dont votre machine disposera.
Au moment de la rédaction, voici ce que les différentes options offrent :
Les exigences matérielles dépendent largement du client de consensus que vous prévoyez d'exécuter - Nimbus, par exemple, nécessite moins de 1 Go de RAM en soi, il est donc tout à fait raisonnable de l'exécuter sur une instance t2.large. Pour les clients plus gourmands en RAM, vous voudrez peut-être opter pour une instance t2.xlarge pour avoir une marge supplémentaire.
Vous voudrez peut-être consulter la section Choisir vos clients ETH avant de décider d'un type d'instance afin de vous assurer que le client que vous souhaitez est pris en charge par le type d'instance que vous choisissez.
Une fois que vous avez fait votre choix, cliquez sur le bouton Next. Les paramètres par défaut sont tous corrects pour la section Instance Details, laissez-les donc tels quels et cliquez sur Next.
Lorsque vous arrivez à la section Add Storage, vous allez créer un nouveau disque dur virtuel pour votre système. Celui-ci peut être étendu ultérieurement grâce à la puissance du cloud, donc obtenir le bon nombre maintenant n'est pas absolument critique. Cependant, pour votre propre tranquillité d'esprit, vous devriez changer la taille pour l'un des chiffres suivants :
- Utilisez au moins 100 GiB si vous testez simplement Rocket Pool sur le réseau de test Hoodi.
- Utilisez au moins 1 TiB (de préférence 2 TiB) si vous allez utiliser ce nœud sur le réseau Ethereum principal (mainnet).
Laissez les valeurs par défaut pour les autres paramètres et cliquez sur Next.
Dans l'étape Add Tags, vous devriez cliquer sur le bouton click to add a Name tag et lui donner un nom facile à retenir que vous pouvez utiliser pour identifier le serveur plus tard ; quelque chose comme Rocket Pool Smartnode fonctionnera si vous avez besoin d'inspiration. Cliquez sur Next lorsque vous avez terminé.
Dans la section Security Group, gardez l'option Create a new security group sélectionnée. Entrez un nom et une description tels que Smartnode et Smartnode Group. Supprimez toutes les règles existantes dans le tableau et ajoutez les règles suivantes :
Cela vous permettra de vous connecter à distance à votre serveur via SSH (le terminal en ligne de commande) depuis votre ordinateur portable ou de bureau. Cela permettra également aux clients d'exécution et de consensus de se connecter à d'autres nœuds sur le réseau Ethereum.
Pour l'accès SSH, cela ne fonctionnera que si vous avez une adresse IP publique statique. Vous devrez probablement la demander à votre FAI, car beaucoup d'entre eux utilisent un système d'IP dynamique et changent votre adresse publique occasionnellement. Si vous ne pouvez pas obtenir une adresse statique, vous devrez aller sur la console AWS et mettre à jour ce paramètre avec votre nouvelle adresse IP chaque fois qu'elle change.
Le tableau de groupe de sécurité devrait maintenant ressembler à ceci :
Maintenant, examinez tous les détails de l'instance pour vous assurer que vous en êtes satisfait, et cliquez sur Launch lorsque vous êtes satisfait.
Lorsque l'invite SSH key pair apparaît, sélectionnez Create a new key pair.
Donnez-lui un nom mémorable tel que Smartnode Key, puis cliquez sur Download Key Pair.
Stockez ces fichiers dans un endroit sécurisé, tel que ~/.ssh/ (ou C:\Users\[votre nom d'utilisateur]\.ssh\ sur Windows) où vos autres clés résident habituellement.
Cette paire de clés contient la clé privée que vous utiliserez pour vous connecter en SSH à votre machine. Si quelqu'un met la main sur cette clé, il aura un accès complet à votre nœud - y compris votre portefeuille de nœud Rocket Pool et toutes les pièces qu'il contient. Vous devez garder ce fichier en sécurité en tout temps.
Ensuite, cliquez sur Launch Instance pour créer votre nouveau serveur virtuel. Lorsqu'une notification apparaît, cliquez sur View Instances pour être dirigé vers votre liste de serveurs. Vous verrez votre nœud Rocket Pool là avec quelques détails d'accompagnement sur sa configuration et son état.
Enfin, attribuez une adresse IP élastique à votre machine - vous pouvez considérer cela comme une adresse IP statique exclusive à AWS. Votre nœud sera toujours accessible à cette adresse, vous pourrez donc toujours utiliser la même commande SSH pour vous y connecter.
Allez dans Network and Security dans le panneau de navigation à gauche et cliquez sur Elastic IPs. Maintenant, cliquez sur Allocate Elastic IP Address. Les paramètres par défaut sont tous corrects, cliquez simplement sur les invites et revenez à la liste lorsque vous avez terminé.
Ensuite, sélectionnez la nouvelle adresse dans la liste. Cliquez sur le bouton Actions au-dessus, puis cliquez sur Associate Elastic IP Address. Laissez le type de ressource défini sur Instance et sélectionnez l'instance Rocket Pool Smartnode que vous venez de créer dans la liste. Cliquez sur Associate pour attribuer l'adresse à votre serveur virtuel. Maintenant, si vous regardez sous la colonne Associated Instance ID de l'adresse, vous pouvez vérifier qu'elle a votre machine assignée.
Accéder à la machine
Pour accéder à la machine, ouvrez un nouveau terminal sur Linux ou macOS (utilisez Powershell sous Windows) et tapez la commande suivante :
Si vous avez stocké vos clés dans le dossier .ssh, cela utilisera la paire de clés privées que vous avez générée lors de la configuration pour s'authentifier automatiquement auprès de la machine - pas de noms d'utilisateur, pas de mots de passe.
Une fois ici, vous avez un accès terminal complet au système.
Configurer l'espace d'échange (swap)
Dans la plupart des cas, si vous choisissez vos clients d'exécution et de consensus et votre type d'instance avec soin, vous ne devriez pas manquer de RAM. Cela dit, il ne fait jamais de mal d'en ajouter un peu plus. Ce que nous allons faire maintenant, c'est ajouter ce qu'on appelle un espace d'échange. Essentiellement, cela signifie que nous allons utiliser le SSD comme "RAM de secours" au cas où quelque chose tournerait horriblement mal et que votre serveur manquerait de RAM normale. Le SSD n'est pas aussi rapide que la RAM normale, donc s'il atteint l'espace d'échange, cela ralentira les choses, mais cela ne plantera pas complètement et ne cassera pas tout. Considérez cela comme une assurance supplémentaire dont vous n'aurez (très probablement) jamais besoin.
Créer un fichier d'échange
La première étape consiste à créer un nouveau fichier qui servira d'espace d'échange. Décidez de la quantité que vous souhaitez utiliser - un bon départ serait 8 Go, vous aurez donc 8 Go de RAM normale et 8 Go de "RAM de secours" pour un total de 16 Go. Pour être très prudent, vous pouvez le faire de 24 Go pour que votre système ait 8 Go de RAM normale et 24 Go de "RAM de secours" pour un total de 32 Go, mais c'est probablement excessif. Heureusement, puisque votre SSD a 1 ou 2 To d'espace, allouer 8 à 24 Go pour un fichier d'échange est négligeable.
Pour les besoins de cette procédure, choisissons un juste milieu - disons, 16 Go d'espace d'échange pour une RAM totale de 24 Go. Remplacez simplement le nombre que vous voulez au fur et à mesure.
Entrez ceci, qui créera un nouveau fichier appelé /swapfile et le remplira de 16 Go de zéros.
Pour changer la quantité, changez simplement le nombre dans count=16 pour ce que vous voulez. Notez que cela va prendre beaucoup de temps, mais c'est normal.
Ensuite, définissez les permissions pour que seul l'utilisateur root puisse le lire ou y écrire (pour la sécurité) :
Maintenant, marquez-le comme un fichier de swap :
Ensuite, activez-le :
Enfin, ajoutez-le à la table de montage pour qu'il se charge automatiquement lorsque votre serveur redémarre :
Ajoutez une nouvelle ligne à la fin qui ressemble à ceci :
Appuyez sur Ctrl+O et Entrée pour enregistrer, puis Ctrl+X et Entrée pour quitter.
Pour vérifier qu'il est actif, exécutez ces commandes :
Votre sortie devrait ressembler à ceci en haut :

Si le deuxième nombre dans la dernière ligne étiquetée Swp (celui après le /) est non nul, alors vous êtes prêt.
Par exemple, s'il affiche 0K / 16.0G alors votre espace de swap a été activé avec succès.
S'il affiche 0K / 0K alors cela n'a pas fonctionné et vous devrez confirmer que vous avez correctement saisi les étapes précédentes.
Appuyez sur q ou F10 pour quitter htop et revenir au terminal.
Configurer la propension à l'échange (swappiness) et la pression de cache
Par défaut, Linux utilisera volontiers beaucoup d'espace d'échange pour soulager un peu la pression sur la RAM du système. Nous ne voulons pas cela. Nous voulons qu'il utilise toute la RAM jusqu'à la dernière seconde avant de compter sur le SWAP. La prochaine étape consiste à changer ce qu'on appelle la "swappiness" du système, qui est essentiellement son empressement à utiliser l'espace d'échange. Il y a beaucoup de débats sur la valeur à définir, mais nous avons constaté qu'une valeur de 6 fonctionne assez bien.
Nous voulons également réduire la "pression de cache", qui dicte la rapidité avec laquelle le serveur supprimera un cache de son système de fichiers. Puisque nous allons avoir beaucoup de RAM disponible avec notre configuration, nous pouvons définir cela sur "10" ce qui laissera le cache en mémoire pendant un moment, réduisant les E/S du disque.
Pour définir cela, exécutez ces commandes :
Maintenant, mettez-les dans le fichier sysctl.conf pour qu'ils soient réappliqués après un redémarrage :
Ajoutez ces deux lignes à la fin :
Ensuite, enregistrez et quittez comme vous l'avez fait précédemment (Ctrl+O, Ctrl+X).
Et voilà, votre serveur est opérationnel et prêt à exécuter Rocket Pool ! Passez à la section Choisir vos clients ETH.