a
a
Weather:
city not found
HomeBitcoinComment transférer des fonds sur le réseau Ethereum à l’aide de la CLI GETH

Comment transférer des fonds sur le réseau Ethereum à l’aide de la CLI GETH

Dans mon article précédent, vous avez appris à configurer un nœud blockchain entièrement synchronisé en 10 minutes. Le moment est venu d’apprendre à effectuer une transaction sur le réseau Ethereum à l’aide de la CLI GETH.

Pour être sur la même page, suivez d’abord toutes les étapes de l’article précédent.

Fini? Parfait.

À ce stade, vous savez:

  • comment exécuter un nœud de blockchain Ethereum entièrement synchronisé
  • comment attacher GETH console
  • comment interroger le solde d’un compte Ethereum
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc 
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4")
> 7500000000000000000

Oui, vous pensez peut-être, mais attendez une seconde Lukas … parce que c’est 7.5ETH s’affiche comme 7500000000000000000 dans Geth console?

Ether contre Wei

La machine virtuelle Ethereum ne prend pas en charge les décimales ou les flottants. Apparemment, les calculs en finance sont plus faciles avec des nombres entiers.

Par conséquent, pour pouvoir envoyer une fraction de 1 ETH, la fondation Ethereum a décidé de créer son propre système métrique où la plus petite unité serait 1 Wei et 1 Ether est 1e18 Wei.

Mais ne vous inquiétez pas, il existe des outils qui peuvent vous faciliter la vie. Par exemple, je recommande vivement le convertisseur en ligne Ether vers Wei:

https://etherconverter.online

Pour envoyer 15 $ en Ether, où 1 ETH == 200 $ (bon vieux temps …), vous auriez à effectuer une transaction en envoyant 0,0740 ETH qui serait et devrait être représenté dans Wei comme 74000000000000000.

Convertisseur en ligne d’Ether en Wei:

Présentation du système métrique Ethereum:

La pratique fait la maîtrise. Nous envoyons en fait 74000000000000000 Wei (15 $) à un autre compte.

Envoi d’Ether à un autre compte à l’aide de GETH CLI

Dans un terminal, n’oubliez pas d’exécuter un nœud blockchain entièrement synchronisé:

geth --rinkeby --datadir=~/.gophersland_ethereum_r1 --port=30304 --cache=2048 --rpc --rpcport=8546 --rpcapi=eth,web3,net,personal --syncmode=fast

Dans un autre terminal, nous allons créer notre deuxième compte Ethereum, exactement comme dans la partie 1.

ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 sep 24 15:36 .> drwx------ 4 enchanter enchanter 4096 sep 24 15:26 ..> -rw------- 1 enchanter enchanter  491 sep 24 15:36 
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4geth --datadir=~/.gophersland_ethereum_r1 account new> INFO [09-24|15:36:33.566] Maximum peer count ETH=25 LES=0 total=25> Your new account is locked with a password. Please give a password. Do not forget this password.
> Passphrase: > Repeat passphrase: > Address: {7aa4a14286a25e3a275d7a122c23dc3c107a636a}ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 oct 25 20:14 .> drwx------ 4 enchanter enchanter 4096 oct 25 19:48 ..> -rw------- 1 enchanter enchanter  491 sep 24 15:36 
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4

Maintenant, connectons la console Geth au nœud de blockchain en cours d’exécution comme nous l’avons fait dans l’article précédent pour transférer 15 $ vers ce compte nouvellement créé en exécutant le eth.sendTransaction commander.

geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc 
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4",to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})

Erreur: authentification requise: mot de passe ou déverrouillage.

Vous devriez obtenir une erreur. En effet, l’envoi d’Ether est une « transaction » et une transaction change d’état, coûte du gaz et dépense des fonds. Ce qui signifie qu’il doit être signé avec notre clé privée stockée dans le fichier Keystore. Pour déchiffrer la clé, nous devons fournir un mot de passe ou, en d’autres termes, déverrouiller le compte.

Exécutez la commande suivante pour déverrouiller votre compte pour les 60 prochaines années et réexécutez la commande sendTransaction.

web3.personal.unlockAccount(web3.personal.listAccounts[0], null, 60) 
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4", to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})

Nous aurions pu également passer le mot de passe comme deuxième argument au lieu de null. Mais cela est plus sûr car votre mot de passe est uniquement dans une mémoire tampon et n’est stocké dans aucun journal ou visible à l’écran.

Cette fois, la commande a réussi et un reçu de hachage de transaction a été renvoyé! Oh oui!

Comme nous sommes connectés au réseau Rinkeby, nous pouvons profiter de l’explorateur Rinkeby GUI pour vérifier l’état de cette transaction, le gaz dépensé, le prix du gaz, etc.

  1. Ouvrez l’explorateur
  2. Collez le hachage du reçu de transaction dans la barre de recherche
  3. C’est fait, nous avons dépensé 21 000 en essence (standard pour l’envoi de fonds) et la transaction a réussi!

Vous pouvez maintenant interroger les soldes des deux comptes et afficher le statut modifié:

eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4") > 7425979000000000000 
eth.getBalance("0x7aa4a14286a25e3a275d7a122c23dc3c107a636a") > 74000000000000000

Il fonctionne comme un charme.

Toutes nos félicitations! Toi:

  • appris la différence entre Ether et Wei et comment les convertir
  • envoyé votre première transaction via le réseau de test mondial d’Ethereum, Rinkeby

Vous pouvez continuer à développer vos compétences en matière de blockchain en en créant une à partir de zéro dans Go!  »

https://www.freecodecamp.org/news/how-to-transfer-funds-on-the-ethereum-network-using-the-geth-cli-b7eac16aa3a9/

No comments

leave a comment