Comment créer son nœud Ethereum avec Geth ?
Acheter Ethereum (ETH)
Publicité eToro
Ethereum est un système décentralisé qui agit comme un ordinateur mondialisé. Afin de garantir sa décentralisation, et pour des raisons techniques, l'architecture du système Ethereum est une architecture de type peer-to-peer. Ce genre de configuration de réseau informatique s'oppose aux configurations clients-serveurs ou serverless à la mode en ce moment. Le peer-to-peer met en place un réseau dans lequel tous les clients sont des serveurs, et tous les serveurs sont des clients. Un exemple connu est celui des services de téléchargement de médias (parfois illégaux), les torrents. Ces services permettent aux utilisateurs de partager des documents et de les télécharger par le biais d'autres utilisateurs, que l'on peut nommer nœuds. Nous allons voir ensemble ce qu'est précisément un nœud et comment créer son propre nœud Ethereum.
Qu'est-ce qu'un nœud Ethereum ?
Dans le réseau Ethereum, qu'est-ce que l'on appelle un nœud, concrètement ? En fait les nœuds représentent les différents acteurs qui participent au bon fonctionnement du système Ethereum. Les nœuds peuvent prendre de nombreuses formes, et n'ont pas à remplir tous les critères pour se définir comme tel. Laissez-moi vous présenter les différents critères qui existent :
- En sauvegardant la totalité de la blockchain Ethereum.
- Par la sauvegarde d'une partie de la blockchain Ethereum.
- En garantissant la validité des différentes transactions du système Ethereum.
Ces trois critères sont assez simples, et on peut rapidement mieux comprendre qui sont les nœuds qui garantissent le bon fonctionnement du système Ethereum. On retrouve donc les mineurs, qui prêtent de la puissance de calcul afin de valider les transaction du réseau, en échange de paiements en ethers. Mais la sauvegarde partielle, ou totale de la blockchain Ethereum, c'est plus obscur : il suffirait ainsi d'un disque dur et une connexion pour devenir un nœud ? Et bien en quelque sorte oui. Si par exemple vous utilisez un wallet comme Mist pour stocker vos ethers, vous téléchargez la blockchain Ethereum et par définition devenez un nœud de ce réseau.
Toutes les interactions avec la blockchain Ethereum nécessitent l'utilisation d'un nœud faisant partie du réseau. À chaque fois par exemple que vous mettez en place un transfert de token ERC-20, vous allez faire appel à un ou plusieurs nœuds Ethereum. Les mineurs seront rémunérés par les frais de transaction, par l'intermédiaire du fameux gas.
Comment créer son nœud Ethereum ?
Bien, ça donne envie de mettre en place notre propre nœud Ethereum avec ces informations. Comme je l'ai expliqué, une simple installation d'un wallet qui télécharge et stocke une partie ou l'entièreté de la blockchain Ethereum suffit pour vous considérer comme le propriétaire d'un nœud Ethereum. Mais ce n'est pas ce qui nous intéresse ici, nous voulons comprendre un peu mieux ce qui se passe lors d'interactions avec la blockchain.
Tout d'abord listons ce dont nous avons besoin pour la mise en place de notre nœud. Il nous faut choisir un réseau sur lequel notre nœud existera, on prendra ici un réseau test d'Ethereum, comme Ropsten ou Rinkeby. Mais nous aurons également besoin de différents outils pour nous aider au niveau du développement, laissez-moi vous présenter Geth que nous allons utiliser.
Geth, ou Go Ethereum, est un client (CLI) qui permet d'être utilisé par tout système d'exploitation, ou sous forme de librairie à la manière de Web3. Go Ethereum est l'une des trois implémentations majeures du protocole Ethereum, les deux autres étant des implémentations en C++ et en Python. Il va nous permettre de prendre part au réseau Ethereum, et nous offrir de nombreuses fonctionnalités. En effet à l'aide de Geth, nous pourrons miner de l'ether certes, mais également de mettre en place des transactions et d'explorer l'historique de la blockchain.
Commençons donc par installer Geth pour pouvoir continuer.
Installation pour Windows
Tout d'abord, rendez-vous sur la page de téléchargement de Geth. Ensuite une fois sur le site, téléchargez la dernière version du logiciel pour la plateforme Windows comme sur l'image ci-dessous.
Maintenant, lancez le logiciel pour l'installer. Attention : Windows peut bloquer l'exécution de ce programme. Une fois installé, le lancement de Geth se fera via console de commande. Si vous n'êtes pas trop habitué à ce genre d'utilisation, c'est une bonne occasion pour en découvrir les subtilités. Lancez le programme Powershield, puis par la suite lancez la commande suivante :
geth
Si l'installation s'est bien déroulée, vous devriez avoir en retour quelque chose de ce genre :
Geth est fonctionnel, il ne va pas tarder à lancer l'importation de la blockchain Ethereum sur votre ordinateur. Plus qu'à attendre ! Le téléchargement de la blockchain n'est pas des plus rapides : comptez entre 3 et 5 heures d'attente, mais vous pouvez prendre ce temps pour vous balader sur le site et me follow sur Twitter.
Installation pour Linux
Ubuntu
Pour les utilisateurs d'Ubuntu, c'est assez simple : il vous suffit d'utiliser le gestionnaire de paquets apt. Utilisez les commandes suivantes pour pouvoir profiter de l'outil Go Ethereum :
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt update
sudo apt install ethereum
Fedora
Pour nos amis sur Fedora, c'est un peu plus compliqué, je suis allé me renseigner pour vous. La procédure sera d'installer Go sur votre ordinateur, puis par la suite de compiler directement Geth. Commençons par installer Go, rendez vous directement sur le site de téléchargement de ce dernier, et télécharger la dernière version stable qui a pour extension tar.gz.
Une fois téléchargé, allez à l'emplacement de ce dernier et utilisez cette commande :
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
Puis, ajoutez le chemin à votre répertoire :
export PATH=$PATH:/usr/local/go/bin
dnf install automake make gcc gcc-c++ git gmp-devel kernel-devel
Ensuite, récupérez Geth sur leur dépôt Github officiel :
git clone https://github.com/ethereum/go-ethereum
Vous pouvez désormais lancer Geth, enfin pas vraiment aussi facilement. Normalement, votre terminal vous indique le chemin qui contient l'accès au programme qui nous intéresse. Mais je vais vous donner les commandes pour ajouter ce dernier dans votre carnet afin de pouvoir lancer plus facilement l'outil Ethereum Go.
export PATH=$PATH:/usr/local/go/bin:$HOME/go-ethereum/build/bin
Voilà vous pouvez maintenant lancer Geth avec la simple commande :
geth
Utilisation de notre nœud
Une fois Geth installé et la blockchain importée, vous serez propriétaire d'un nœud Ethereum : félicitations ! Mais vous vous en doutez, nous n'allons pas nous arrêter là et allons découvrir ensemble ce que permet ce super outil.
Tout d'abord, regardons rapidement ce que l'on peut faire avec cet outil. Commençons par nous créer une adresse Ethereum. Utilisez une console de programmation sur le système d'exploitation de votre choix. Tant que Geth est installé ça devrait fonctionner.
Utilisez la commande suivante, qui va vous permettre de créer une nouvelle adresse Ethereum :
geth account new
Puis indiquez votre mot de passe pour cette adresse, vous devriez voir comme l'image ci-dessous :
Voyons si notre adresse a bien été créée, en utilisant cette commande :
geth account list
Celle-ci vous retourne le résultat suivant :
Parfait, si vous faites une recherche sur l'adresse que Geth indique sur un site tel que Etherscan, vous verrez que c'est bel et bien une adresse Ethereum, qui ne possède aucun ether. Vous pouvez également vous rendre à l'emplacement indiqué par la seconde commande pour retrouver la clé de votre adresse.
Maintenant, nous sommes réellement sûrs que notre nœud est connecté au réseau Ethereum. Nous avons donc un nœud du réseau Ethereum ! Évidement, ce n'est que le début des festivités pour nous, mais on verra ce que l'on peut en faire par la suite. N'hésitez pas à proposer des idées d'utilisation de notre nœud, ce sera un plaisir d'en discuter avec vous.
J'ai installé sur mon poste une Blockchain privée pour me familiariser avec cette technologie, j'avance pas à pas. J'essaye de lancer la console HTTP de Geth sur 127.0.01:8545 sans succès j'obtiens "Connection refused"
As-tu pensé à autoriser l'adresse ainsi que le port dans ton pare-feu?
bonjour
mac os est-il incompatible ? et quelle place mémoire cela nécessite il ?
En soit ça ne sert à rien d'être un noeud. Mais genre rien du tout.
A part si tu mines, y’a rien à gagner si ce n’est un peu d’insight sur le fonctionnement des noeuds
Hello,
Il est vrai que l'on gagne aucun tokens à simplement posséder un nœud, light ou pas. Mais c'est l'occasion en effet d'en apprendre plus, et surtout avoir un accès direct à la Blockchain, sans que personne puisse vous empêcher de l'utiliser à votre guise.
Bonjour Guillaume
explications claires et concises, merci, 😉
simplement,
il y a un guide assez complet pour créer une blockchain svp ? j'ai du mal à trouver assez simple et complet,
merci,
Guillaume ( un autre )