Noeud Ethereum sur OVHcloud : guide d’installation Déployer un noeud Ethereum sur OVHcloud, avec stockage dédié et configuration EL/CL. Le noeud Ethereum sur OVHcloud est une solution robuste pour explorer le réseau Ethereum.
Le noeud Ethereum sur OVHcloud est une solution robuste pour explorer le réseau Ethereum. Ce guide décrit comment lancer et faire fonctionner un nœud complet sur des instances publiques OVHcloud, en s’appuyant sur des pratiques de base pour la fiabilité et la maintenance. Il convient de noter que des mesures de sécurité avancées (pare-feu, gestion des clés, surveillance) restent à ajouter selon les besoins de chaque organisation.
Lancer une instance OVHcloud adaptée à un noeud Ethereum
Pour assurer la stabilité, les exigences minimales du client Ethereum préconisent au moins 2 cœurs CPU, 16 Go de RAM et 1 To de stockage SSD rapide pour le noyau d’exécution (EL) et 2 cœurs CPU, 8 Go de RAM pour le client de consensus (CL), avec un accès au même stockage. Dans ce guide, nous proposons une configuration supérieure: 2 vCores et 30 Go de RAM, suffisants pour faire tourner séparément les composants EL et CL sur une même machine.
Choisissez le type R2-30 de la catégorie mémoire optimisée et déployez-le dans une région européenne, par exemple Francfort, afin de limiter la latence et d’améliorer la connectivité en Europe. L’emplacement géographique contribue également à la résilience du réseau, en diversifiant les points de présence.
Optez ensuite pour une image Ubuntu 24.04 LTS et configurez une clé SSH publique comme méthode d’authentification principale, ce qui évite les logins par mot de passe. Donnez un nom descriptif à l’instance (par exemple noeud-eth-fra-01) et, si utile, ajoutez des balises internes identifiant le rôle (exécution/consensus), l’environnement et la région. Activez le mode Public pour obtenir une adresse IP publique et permettre au noeud de participer au réseau Ethereum. Enfin, créez l’instance et patientez quelques minutes pour accéder au système.
Stockage dédié et montage pour la blockchain
Le stockage persistant est essentiel pour les données de la chaîne. Dans OVHcloud, créez un volume de bloc dans la même région que la machine. Pour de meilleures performances, privilégiez un volume High-Speed Gen2 (jusqu’à 20 000 IOPS) et dimensionnez-le à 2 To afin d’assurer la capacité nécessaire à la fois pour l’exécution et le consensus.
Attachez le volume à l’instance, puis connectez-vous en SSH et identifiez le nouveau périphérique (par exemple /dev/sdb). Créez une partition (/dev/sdb1), formatez-la en ext4, puis créez un point de montage, par exemple /mnt/chaindata. Montez la partition et vérifiez l’espace disponible. Pour que le montage persiste après redémarrage, récupérez l’UUID du volume et ajoutez une entrée correspondante dans /etc/fstab.
Exemples de commandes typiques (à adapter selon le nom de périphérique et l’UUID) :
sudo fdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mkdir -p /mnt/chaindata
sudo mount /dev/sdb1 /mnt/chaindata
sudo blkid # repérer l'UUID de /dev/sdb1
sudo nano /etc/fstab # ajouter: UUID= /mnt/chaindata ext4 nofail 0 0
Créer un utilisateur dédié et préparer l’accès
Pour des raisons de sécurité, créez un utilisateur dédié pour les opérations Ethereum, par exemple node_admin, avec un répertoire personnel et des droits sudo. Configurez l’authentification par clé SSH en ajoutant votre clé publique dans /home/node_admin/.ssh/authorized_keys. Cette séparation limite les risques lorsque des scripts s’exécutent sur le host.
Architecture EL et CL et choix des clients
Deux composants coexistent : le client d’exécution (EL) qui gère les transactions et l’état, et le client de consensus (CL) qui participe à la validation via le protocole proof-of-stake. Le réseau Ethereum supporte plusieurs implémentations :
- EL possibles : Geth, Nethermind, Reth, Besu, Erigon
- CL possibles : Lighthouse, Prysm, Teku, Nimbus, Lodestar
Pour ce guide, la configuration retenue est :
- EL : Nethermind
- CL : Lighthouse
Installation des clients et démarrage en arrière-plan
Pour Nethermind (EL), ajoutez le dépôt officiel et installez le binaire via APT :
sudo add-apt-repository ppa:nethermindeth/nethermind
sudo apt-get update
sudo apt-get install nethermind -y
Pour Lighthouse (CL), téléchargez la version stable, extrayez-la puis déplacez le binaire dans le PATH :
curl -LO https://github.com/sigp/lighthouse/releases/download/v7.1.0/lighthouse-v7.1.0-x86_64-unknown-linux-gnu.tar.gz
tar -xvf lighthouse-v7.1.0-x86_64-unknown-linux-gnu.tar.gz
sudo cp lighthouse /usr/bin
Générez le secret JWT nécessaire à la communication sécurisée EL/CL :
sudo mkdir -p /secrets
openssl rand -hex 32 | tr -d "\n" | sudo tee /secrets/jwt.hex > /dev/null
Utilisez ensuite des sessions persistantes (screen) pour exécuter les clients en arrière-plan et prévenir les pertes de connexion SSH.
Vérification et synchronisation
Relancez et suivez les logs de Nethermind pour vérifier que l’Engine API communique bien avec Lighthouse. Les messages attendus lors d’une bonne synchronisation sont des indications de flux entre EL et CL et l’avancée du bloc en cours de validation.
Pour terminer
Une fois les composants EL et CL opérationnels, vous disposez d’un noeud Ethereum fonctionnel sur OVHcloud. Pensez à renforcer la sécurité et à mettre en place une surveillance adaptée, afin de garantir la stabilité à long terme et de pouvoir faire évoluer le système selon les besoins.