Checklist du validateur

Cette checklist vous aidera à comprendre le rôle d'un validateur et à vous y préparer.Visitez EthStaker sur Discord ou Reddit à tout moment pendant que vous effectuez votre configuration pour obtenir une aide amicale !

Section 1 - Avant de commencer

Consultez cette section avant de décider de procéder à la configuration du validateur.

Avis de non-responsabilité lié aux recommandations

Les suggestions concernant le matériel sont en constante évolution. Les exigences minimum actuelles sont susceptibles d'augmenter par ordre de grandeur après l'introduction de la fragmentation. Effectuez vos propres recherches avant de déposer des fonds.

Disque dur

  • Vous devez exécuter un client d'exécution ainsi que votre client de consensus.
  • Depuis la Fusion, les fournisseurs tiers (comme Infura et Alchemy) ne sont plus des options viables pour externaliser les responsabilités de couche d'exécution. Tous les validateurs doivent exécuter une paire de client d'exécution et de client de consensus pour attester correctement du réseau.
  • À partir du mai 2022, vous aurez besoin d'environ ~1To pour les seules données de la chaîne d'exécution du réseau principal (croissance d>1 Go/jour).
  • Ethereum a eu sa genèse le 30 juillet 2015. Depuis, elle prend de plus en plus d'ampleur, et l'introduction de la fragmentation augmentera également les besoins en stockage, en mémoire et en bande passante.
  • Vous aurez besoin d'un stockage SSD pour gérer les vitesses de lecture/écriture nécessaires.
  • Assurez-vous de prévoir suffisamment d'espace sur votre disque jusqu'à ce que vous exécutiez la maintenance sur votre nœud.

Processeur et RAM

  • Consultez la documentation du client pour vérifier que le matériel que vous souhaitez utiliser est suffisant et pris en charge.
  • L'utilisation des ressources peut varier considérablement d'un client à l'autre. Effectuez des recherches sur les différents clients si vous faites face à des contraintes de ressources.

Internet

  • Idéalement, votre connexion Internet doit être fiable avec un fonctionnement sans interruption aussi proche que possible de 24h/24 x 7j/7.
  • Afin que votre nœud demeure synchronisé et prêt à valider lorsqu'il est appelé, assurez-vous que votre bande passante ne peut pas subir d'étranglement et qu'elle n'est pas plafonnée.
  • Vous avez également besoin de suffisamment de bande passante pour le chargement. À partir du mai 2022 , environ 1.2-1.3 Go de téléchargement et ~0.9-1 Go de chargement par heure seront nécessaires, et il est probable que cela augmente.

Remarques

  • Évitez les configurations trop compliquées et soyez conscient des inconvénients. Le fait d'être hors ligne pendant de brèves périodes de temps entraîne de petites pénalités d'inactivité qui seront facilement recouvrées après avoir été de nouveau en ligne pendant une période équivalente. Les systèmes d'alimentation de secours compliqués peuvent augmenter le coût de votre installation, et la redondance des validateurs de secours peut entraîner une pénalité plus grave connue sous le nom de slashing. Plus d'infos sur les risques de sanction
  • Dans le pire des cas, la synchronisation de votre client d'exécution peut prendre quelques jours.

Section 2 - Pendant la configurationUtilisez ceci comme référence lors de la configuration du client pour cocher les étapes importantes.

Configuration initiale

  • Commencez par configurer le matériel et le système d'exploitation de votre choix.
  • Afin de maximiser la sécurité et l'efficacité de votre nœud, utilisez du matériel dédié pour exécuter vos clients. Cela réduit le risque d'exposition aux logiciels malveillants et réduit la concurrence pour les ressources informatiques, garantissant que votre nœud gère la charge du réseau et ses responsabilités de validation à tout moment.

Sécurité des nœuds

Client d'exécutionPort par Défaut
Nethermind30303 TCP/UDP
Besu30303 TCP/UDP
Geth30303 TCP/UDP
Erigon30303 TCP/UDP
Client de consensusPort par Défaut
Prysm13000 TCP, 12000 UDP
Lighthouse9000 TCP/UDP
Nimbus9000 TCP/UDP
Teku9000 TCP/UDP
En savoir plus sur les ports dans le réseau

Configurer la synchronisation temporelle

Pour Ubuntu 20.04
  • Exécutez la commande suivante :
    timedatectl
  • Vérifier si NTP Service est active.
  • Vérifiez si Local time, Time zone et Universal time sont corrects.
  • Si NTP Service n'est pas active, exécutez :
    sudo timedatectl set-ntp on
    .
  • Si le message d'erreur Failed to set ntp: NTP not supported s'affiche, vous devrez peut-être installer le package chrony ou ntp.
  • Remarque : Par défaut, les machines virtuelles peuvent désactiver le protocole NTP. Vous devez donc trouver une solution alternative pour votre environnement.
  • Remarque : Vous pouvez régler l'horloge en temps réel (RTC) sur votre fuseau horaire plutôt que sur le temps universel coordonné (UTC), en particulier sur une machine virtuelle dont l'horloge est configurée sur Windows.

S'entraîner sur un réseau de test

Nous vous avons vivement recommandé d'achever ces étapes sur le réseau de test actuel avant de passer au réseau principal. Goerli

Configurer votre client d'exécution

Examiner les rôles et les responsabilités du validateur

À retenir

Tous les stakers doivent exploiter un client d'exécution avec leur client de consensus.

Recommandé

Discord : Nethermind | Besu | Geth | Erigon

Configurer votre client de consensus

Avertissement !

L'exécution de votre validateur en plusieurs endroits comporte un risque élevé. Cela entraînera un événement sanctionnable par délestage et votre exclusion du réseau. Plus d'infos sur les risques de sanction

Recommandé

Discord : Prysm | Lighthouse | Nimbus | Teku

Authentification JWT

La communication entre la couche d'exécution et la couche de consensus se fait en utilisant le Moteur d'API. Il s'agit d'un nouvel ensemble de méthodes RPC JSON qui peuvent être utilisées pour communiquer entre les deux couches du client.Cette communication est sécurisée en utilisant un secret JWT , qui est une clé secrète partagée uniquement entre les deux clients pour s'authentifier l'un l'autre. Ce secret JWT partagé doit être mis à la disposition de chaque client (tant les clients d'exécution que de consensus) pour leur permettre de communiquer correctement les uns avec les autres.Documents JWT de consensus : Lighthouse | Nimbus | Prysm | TekuDocuments d'exécution JWT : Besu | Erigon | Geth | Nethermind

Définir l'adresse de retrait

Les stakers doivent définir une adresse de retrait pour déverrouiller les paiements de récompense à partir de la couche de consensus. Ceci est défini lors de la génération de vos clés de validateur.
Si vous ne fournissez pas d'adresse de retrait avant le dépôt, vous devrez effectuer une étape supplémentaire pour mettre à jour vos clés et activer les retraits. Les fonds seront bloqués entre-temps.
En savoir plus sur les retraits de staking

Définir le bénéficiaire des frais

Le stakers doivent fournir une adresse de bénéficiaire de frais à leur client de consensus afin de recevoir des récompenses de frais de transaction. Il s'agit d'une adresse Ethereum normale à laquelle vous êtes habitué.
Si vous ne fournissez pas d'adresse à votre client, vous ne recevrez pas de frais de transaction lorsque votre validateur vous proposera des blocs.
Consultez votre documentation client de consensus pour des instructions spécifiques au client sur la façon de définir ceci.Documentation du bénéficiaire des frais : Lighthouse | Nimbus | Prysm | Teku

Nœud phare (BN) de couche de consensus

Obligatoire

  • Utilisez la commande suivante pour vérifier si elle renvoie correctement la version du client :
    curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://<YourServerLocation>:8545
  • Assurez-vous que votre nœud a plus de 20 pairs.

Client validateur (VC) de couche de consensus

Obligatoire

Section 3 - Après un dépôtProtégez vos fonds à l'aide d'un logiciel de surveillance et apprenez à gérer différents scénarios réels.

Ces étapes sont facultatives, mais recommandées pour optimiser votre nœud.

Surveillance

Moniteur Prometheus et Grafana

Les clients prennent en charge Prometheus et Grafana pour vous aider à visualiser des indicateurs importants en temps réel sur votre validateur.Documents de suivi : Lighthouse | Nimbus | Prysm | Teku

Simulations du réseau de test

Lors de la validation sur le réseau de test, effectuez ces simulations pour en savoir plus sur votre nœud et mieux vous préparer pour le réseau principal :

Architecture système avancée

  • Pour éviter d'exposer votre identité de validateur sur le réseau, vous pouvez utiliser un VPN fiable afin de réduire le risque de révéler votre adresse IP.
  • De plus, vous pouvez configurer votre client validateur (VC) et votre nœud phare (BN) sur des machines et des IP séparés, de sorte que si votre nœud phare est vulnérable, votre keystore soit stocké sur une autre machine.

Graffiti

Vous pouvez utiliser l'indicateur graffiti de votre client validateur pour ajouter une touche personnelle à vos propositions de blocs (un texte de votre choix). Vous pourrez le voir en utilisant les explorateurs de blockchain Beaconcha.in ou BeaconScan.
Si vous avez des questions, la communauté EthStaker est l'endroit idéal pour obtenir de l'aide ! Vous pouvez bénéficier d'une assistance sur Discord ou Reddit.