Comment exécuter un nœud Ethereum sur une tarte aux framboises
Les blockchains s'appuient sur leur communauté pour exécuter des codes et assurer la sécurité du réseau. Plus le réseau est grand en ce qui concerne les pairs participants, plus il devient difficile pour les adversaires de prendre le contrôle du réseau ou de manipuler l'historique des transactions. Par conséquent, exécutez votre propre Ethereum le nœud est avantageux pour le réseau. C'est également un excellent moyen de vous familiariser avec l'écosystème Ethereum et de supprimer les dépendances tierces pour l'accès à la blockchain. Cependant, l'exécution d'un nœud est également très rentable. Cela nécessite généralement un ordinateur dédié connecté en permanence. Cependant, un nœud Ethereum peut également être exécuté à l'aide d'un Raspberry Pi.
Le dernier modèle, Raspberry Pi 4, est presque assez puissant pour exécuter un nœud Ethereum complet. Dans cet article, nous expliquons les étapes requises pour exécuter un nœud Ethereum sur un Raspberry Pi et pour se synchroniser avec le réseau principal. Nous utiliserons Go Ethereum client pour ce guide, bien Parity Ethereum peut également être utilisé sur un Raspberry Pi. Une connaissance de base de la ligne de commande Linux et de la configuration du système d'exploitation est requise.
exigences
En plus d'un Raspberry Pi 4 avec une alimentation compatible, nous avons besoin d'une carte SD pour contenir le système d'exploitation. De plus, pour exécuter un nœud complet Ethereum, nous avons besoin d'un disque dur externe suffisamment grand avec un état solide. La vitesse d'E / S du disque est l'exigence de performances la plus importante pour exécuter un nœud Ethereum complet. La raison en est la fréquence élevée d'écriture des données sur le disque en petits bits pendant le traitement des transactions. Il est donc important d'utiliser un périphérique USB 3.0 externe très rapide sans pièces mobiles. 500 Go devraient suffire pour exécuter un nœud Ethereum complet, car il prend actuellement moins de 300 Go d'espace, mais une certaine croissance devrait être attendue.
L'exécution d'un nœud d'archivage sur un Raspberry Pi n'est pas pratique car cela prendrait plus de 2 To d'espace disque dur, ce qui éliminerait l'avantage de coût d'un Raspberry Pi. De plus, l'espace requis pour les nœuds d'archivage augmente beaucoup plus rapidement que pour les nœuds entiers normaux. Heureusement, les nœuds d'archivage pour la plupart des utilisations ne sont pas nécessaires.
De plus, toute forme de refroidissement pour le Raspberry Pi est probablement une bonne idée pour éviter une surchauffe. De simples dissipateurs de chaleur et ventilateurs devraient suffire et sont disponibles à moindre coût.
Préparation du Raspberry Pi
Une installation Linux propre sur la carte SD Rasberry Pi est requise avant de pouvoir installer un logiciel spécifique à Ethereum. Nous recommandons Rasbian, mais un certain nombre de distributions Linux sont disponibles pour Raspberry Pis. L'installation du système d'exploitation ne comprend pas l'article, mais des instructions simples sont fournies guide d'installation officiel.
Pour pouvoir compiler la version Go d'Ethereum, nous avons besoin d'un environnement de langage Go fonctionnel. Cela peut être installé en exécutant les commandes suivantes:
$ wget https://dl.google.com/go/go1.13.1.linux-armv6l.tar.gz
$ sudo tar -C / usr / local -xvf go1.13.1.linux-armv6l.tar.gz
Bien sûr, nous devons ajouter le répertoire / usr / local / go / bin résultant à notre variable PATH avant de pouvoir l'utiliser.
Installer Ethereum
Lorsque Raspberry Pi est en cours d'exécution, nous pouvons installer Geth sur le système. Il existe des images précompilées pour Raspberry Pis disponibles sur un certain nombre de sites Web sur le Web. Cependant, ceux-ci ont tendance à venir rapidement derrière les dernières versions en termes de numéros de version. Par conséquent, il est préférable de créer une version à partir du dernier code source, c'est pourquoi nous avons dû installer un environnement de langue Go.
Pour ce faire, nous devons cloner le référentiel Geth GitHub avec la commande suivante:
$ git clone https://github.com/ethereum/go-ethereum.git
Cela installera la dernière version instable mais pour être sûr d'installer une version stable, nous pouvons ajouter le paramètre suivant pour spécifier un numéro de version spécifique:
–Gren v
Maintenant, nous pouvons aller dans le répertoire nouvellement créé et construire Geth run:
$ get geth
Cela devrait prendre un peu plus de temps que sur une machine de bureau, mais une fois terminé, nous avons un nœud Ethereum entièrement fonctionnel pour les processeurs ARM.
Exécutez un nœud lumineux Ethereum
Le moyen le plus simple et le moins gourmand en ressources pour se connecter au réseau Ethereum est d'exécuter un nœud léger. Un nœud léger n'est pas synchronisé avec le dernier état de la chaîne de blocs, ne stocke pas la chaîne de blocs localement et ne valide pas les transactions elles-mêmes. Au lieu de cela, un signe de tête facile s'appuie sur des camarades plus puissants pour traiter les transactions en son nom.
Si un nœud léger est tout ce dont nous avons besoin, le stockage sur carte SD est suffisant et nous n'avons pas à nous soucier de connecter un disque dur externe.
Tapez simplement la commande suivante pour démarrer le nœud:
$ geth –cache = 218 –syncmode “light”
Le paramètre "cache" garantit que le nœud ne consomme pas trop de mémoire.
Exécutez un nœud complet Ethereum
Si l'objectif est d'exécuter un nœud complet qui maintient localement le dernier état de la chaîne de blocs, nous devons connecter le disque dur externe mentionné ci-dessus. Comme déjà mentionné, il est important de choisir un périphérique SSD très rapide connecté via USB 3.0, pour suivre la blockchain.
Nous devons créer une partition sur le périphérique externe, qui est en dehors de ce guide, car il fait référence aux compétences d'administration de base de Linux.
Lorsque nous avons suffisamment de stockage rapide, nous pouvons démarrer Geth et nous assurer que l'état de la blockchain est stocké sur la partition nouvellement créée:
$ geth – syncmode fast – cache 256 – datadir
Le paramètre datadir est utilisé pour indiquer où l'espace de stockage est monté.
La synchronisation vers le dernier état de la blockchain peut prendre beaucoup de temps, même en mode de synchronisation rapide, mais une fois terminé, le nœud est prêt à être utilisé.
Se connecte au nœud
Notre nouveau nœud lancé peut être utilisé à partir de la ligne de commande Raspberry Pis de la manière habituelle. Pour plus d'informations sur la procédure à suivre, consultez notre article sur l'installation et l'utilisation de Geth et moi documentation officielle. Pour utiliser le Raspberry Pi en tant que passerelle Ethereum permanente sur le réseau local, certaines étapes supplémentaires peuvent être nécessaires, telles que la transmission de certains ports et la garantie que Geth est exécuté en tant que démon. Encore une fois, ces compétences de base en gestion de réseau dépassent le cadre de cet article. Les utilisateurs doivent acquérir ces compétences avant d'expérimenter avec des actifs numériques numériques, car les erreurs de configuration peuvent avoir de graves conséquences sur la sécurité.