Skip to content

Mogza/ws_InteractWithTheBC_Go_Subject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Epitech workshop to show students how to interact with the Ethereum blockchain with Go language.

Workshop : Interagir avec la blockchain en Go

Dans ce workshop, vous apprendrez comment interagir simplement avec la blockchain en utilisant "Go Ethereum", l'implémentation officielle d'Ethereum en Go.

▶️ Repo officiel ici
❗ Documentation go-ethereum

Partie 0 : Setup

Installe Go en suivant la documentation officielle

Partie 1 : Récupérer des informations

Etape 1 : Numéro d'un Block

Maintenant que tout est installé. Essayez de lancer le code déjà présent dans votre repo pour la première fois :

go run ./part1

Pour l'instant, il ne se passe rien.

Votre but est ici est de print le numéro du dernier block miné de la chaine.

Essayez de comprendre, dans un premier temps, ce que fait le code que vous venez d'éxecuter. 😉

La documentation d'un client en go-ethereum

Print en Go

Vous pouvez vérifier le numéro du dernier block ici dans la catégorie "Latest blocks"

Etape 2 : Solde d'un wallet

Toujours dans le même style, vous devez cette fois-ci récupérer le solde (en Ether) d'un wallet (à choisir ici).
(Attention, la valeur devra être convertie 😉)

Une address ne peut pas être utiliser directement depuis sa string => ⚠️ Doc

Convertisseur

Partie 2 : Créer un wallet sécurisé

Etape 1 : Générer un wallet simple

Générez et print une private key ainsi que sa public key et sa public address.

Vous aurez ainsi les trois informations principales constituant votre premier wallet.

Comment sont générées les clés d'un wallet

Etape 2 : Générer un keystore (Encrypted Wallet)

Bravo, vous venez de créer votre wallet...mais il n'est pas sécurisé du tout. En effet, la clé privée n'est pas cryptée.
Utilisez le système de keystore (ou Encrypted Wallet) pour générer un wallet.
Il sera sous forme d'un fichier contenant toutes les informations cette fois-ci cryptée

Qu'est-ce qu'un keystore ?

Générez votre keystore dans le dossier wallet

Etape 3 : Décrypter un keystore

Affichez la private key, la public key et la public address du keystore que vous venez de créer.

Partie 3 : Faire des transactions

A partir d'ici, nous allons intéragir avec le testnet Sepolia afin de faire des transactions de Sepolia Eth

Qu'est-ce qu'un testnet

Etape 1 : Nouveaux wallets

Générez deux nouveaux wallets et récupérez leur public address

Etape 2 : Récupérer leur solde

A l'image de la Partie 1, récupérez le solde de vos deux wallets

Vous pouvez trouver les informations de vos wallets sur le testnet ici

Etape 3 : Effectuer une transaction

Créez, signez et envoyez votre première transaction de Sepolia Eth d'un wallet à un autre.

Récupérez des Sepolia Eth en les minant (Copiez/collez l'addresse public précédé de '0x') ou appellez moi, je pourrais surement en envoyer pour allez plus vite.

Affichez le hash de votre transaction afin de la retrouver facilement ici

Pour aller plus loin

  • Apprendre à écrire des smart contracts en Solidity (s/o Geoffrey, un workshop devrait arriver pour ça)
  • Utiliser le Go afin de déployer ces smart contracts sur un Testnet Ethereum
  • Intéragir avec ses smart contracts en utilisant le Go

About

Workshop : Intéragir avec la blockchain en Go.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors