a
a
Weather:
city not found
HomeBitcoinPrésentation de Geth | Aller à Ethereum

Présentation de Geth | Aller à Ethereum

Pour utiliser Geth, vous devez d’abord l’installer. Vous pouvez installer Geth de différentes manières que vous pouvez trouver dans la section « Installer et construire ». Celles-ci incluent l’installation via votre gestionnaire de packages préféré, le téléchargement d’un fichier binaire préconstruit autonome, son exécution en tant que conteneur de docker ou sa construction vous-même.

Pour ce guide, supposons que Geth soit installé et que vous soyez prêt à découvrir comment l’utiliser. Le guide vous montre comment créer des comptes, synchroniser avec un réseau, puis envoyer des transactions entre comptes.

Ce guide utilise Clef, qui est notre outil préféré pour signer des transactions avec Geth, et remplacera la gestion de compte de Geth.

Initialiser Clef

Tout d’abord, il initialise Clef avec une graine racine aléatoire, qui est également cryptée avec le mot de passe défini. Le mot de passe doit contenir au moins 10 caractères.

Commande d'initialisation de la clé

Créer un compte

Créez deux comptes avec le clef newaccount commande, définissez un mot de passe pour chacun et notez l’adresse publique de chacun.

Créer une nouvelle commande de compte

Clef renvoie un message de débogage sur Failed to reload keystore contents, nous le résolvons ultérieurement.

Démarrer Geth

Réseaux

Vous pouvez connecter un nœud Geth à différents réseaux en utilisant le nom du réseau comme argument. Ceux-ci incluent le réseau Ethereum principal, un réseau privé que vous créez et trois réseaux de test qui utilisent différents algorithmes de consensus:

  • Ropsten: Preuve de travail réseau de test
  • Rinkeby: Réseau de test avec preuve d’autorité
  • Görli: Réseau de test avec preuve d’autorité

Pour ce guide, nous utilisons le réseau Görli.

Mode de synchronisation

Vous pouvez démarrer Geth dans l’un des trois modes de synchronisation différents à l’aide du --syncmode "<mode>"
argument qui détermine le type de nœud sur le réseau.

Ceux-ci sont:

  • Complet: Téléchargez tous les blocs (y compris les en-têtes, les transactions et les reçus) et générez le statut de la blockchain de manière incrémentielle en exécutant chaque bloc.
  • Rapide (Par défaut): Téléchargez tous les blocs (y compris les en-têtes, les transactions et les reçus), vérifiez tous les en-têtes, téléchargez le statut et comparez-le aux en-têtes.
  • Lumière: Téléchargez tous les en-têtes de bloc, bloquez les données et vérifiez-en certains au hasard.

Pour ce tutoriel, nous utilisons un light synchronisation:

Démarrer Clef

Démarrez Clef, en définissant le keystore et l’ID de chaîne (goerli vaut 5) pour le réseau auquel nous voulons nous connecter:

clef --keystore <GETH_LOCATION>/keystore --chainid 5

Pour commencer, les erreurs liées à un keystore manquant sont affichées et seront bientôt corrigées.

Démarrer Geth

La commande suivante active également l’interface Geth RPC (que nous abordons ci-dessous) et définit Clef comme signataire de la transaction.

geth --goerli --syncmode "light" --http --signer=<CLEF_LOCATION>/clef.ipc

Obtenez l’ETH

À moins que vous n’ayez Ether dans un autre compte sur le réseau Görli, vous pouvez utiliser un robinet pour envoyer des ETH à l’une de vos nouvelles adresses de compte à utiliser pour ce guide.

Connectez-vous à Geth avec IPC ou RPC

Vous pouvez interagir avec Geth de deux manières: directement avec le nœud à l’aide de la console JavaScript via IPC ou en vous connectant au nœud à distance via HTTP à l’aide de RPC.

IPC vous permet d’en faire plus, en particulier lorsqu’il s’agit de créer et d’interagir avec des comptes, mais un accès direct au nœud est requis.

RPC permet aux applications distantes d’accéder à votre nœud, mais présente des limitations et des considérations de sécurité et, par défaut, autorise uniquement l’accès aux méthodes dans eth est shh
espaces de noms. Découvrez comment remplacer ce paramètre dans les documents RPC.

Utilisation d’IPC

Connectez-vous à la console

Connectez-vous à la console IPC sur un nœud à partir d’une autre fenêtre de terminal:

geth attach <IPC_LOCATION>

Vérifiez le solde de votre compte

web3.fromWei(eth.getBalance("<ADDRESS_1>"),"ether")

L’obtention du solde d’un compte ne nécessite pas de transaction signée, Clef ne nécessite donc pas d’approbation et Geth renvoie la valeur.

Envoyer l’ETH au compte

Envoyez 0,01 ETH depuis le compte auquel vous avez ajouté l’ETH avec le robinet Görli, vers le deuxième compte que vous avez créé:

eth.sendTransaction({from:"<ADDRESS_0>",to:"<ADDRESS_1>", value: web3.toWei(0.01,"ether")})

Cette action vous oblige à signer la transaction, Clef vous demande donc de l’approuver, et si vous le faites, elle vous demande le mot de passe à partir duquel vous envoyez l’ETH. Si le mot de passe est correct, Geth procède à la transaction.

Pour vérifier, récupérez le solde du deuxième compte:

web3.fromWei(eth.getBalance("<ADDRESS_1>"),"ether")

Utilisation de RPC

Connectez-vous à RPC

Vous pouvez utiliser des requêtes HTTP standard pour vous connecter à un nœud Geth à l’aide des API RPC, par exemple:

curl -X POST http://<GETH_IP_ADDRESS>:8545 
    -H "Content-Type: application/json" 
   --data'{"jsonrpc":"2.0", "method":"<API_METHOD>", "params":[], "id":1}'

Vérifiez le solde de votre compte

curl -X POST http://<GETH_IP_ADDRESS>:8545 
    -H "Content-Type: application/json" 
   --data '{"jsonrpc":"2.0", "method":"eth_getBalance", "params":["<ADDRESS_1>","latest"], "id":1}'

L’obtention du solde d’un compte ne nécessite pas de transaction signée, Clef ne nécessite donc pas d’approbation et Geth renvoie la valeur.

Envoyer l’ETH aux comptes

Envoyez 0,01 ETH depuis le compte auquel vous avez ajouté l’ETH avec le robinet Görli, vers le deuxième compte que vous avez créé:

curl -X POST http://<GETH_IP_ADDRESS>:8545 
    -H "Content-Type: application/json" 
   --data '{"jsonrpc":"2.0", "method":"eth_sendTransaction", "params":[{"from": "<ADDRESS_0>","to": "<ADDRESS_1>","value": "0x9184e72a"}], "id":1}'

Cette action nécessite votre signature, donc Clef vous demande de l’approuver, et si vous le faites, elle vous demande le mot de passe à partir duquel vous envoyez l’ETH. Si le mot de passe est correct, Geth procède à la transaction.

Pour vérifier, récupérez le solde du deuxième compte:

curl -X POST http://<GETH_IP_ADDRESS>:8545 
    -H "Content-Type: application/json" 
    --data '{"jsonrpc":"2.0", "method":"eth_getBalance", "params":["<ADDRESS_1>","latest"], "id":1}'

https://geth.ethereum.org/docs/getting-started

No comments

leave a comment