Python ethereum et web3 pour les developpeurs



Mis à jour le June 8, 2022, 8:40 p.m.

documentation sur laquelle se base ce tuto:

 

https://web3py.readthedocs.io/en/stable/

 

Comment la blockchain fonctionne et comment interagir avec gracce à cette librairie web3.py?

La blockchain est composé de noeuds et chaque noeuds se communiquent les uns avec les autres.
Comme expliqué dans mes articles, tous les noeuds on toutes les données de toute la blockchain,
donc ne communiquer qu'avec un seul noeud suffirait pour avoir toutes les informations de la
totalité de la blockchain.Cependant pour acquérir ces données, effectuer des transactions etc, il nous faut un
moyen de communiquer avec elle et c'est exactement ce que permet de faire la librairie web3.py.
On communique avec un noeud grâce au protocol RPC mais que l'on ne va pas voir en detail tout de suite.

La blockchain sur laquelle on va travailler est la blockchain ethereum.

 

Première chose à faire: aller sur https://infura.io/ pour avoir un lien vers un noeud ethereum et créez un compte:

infura.io

 

Une fois que vous avez créer votre compte, créez un projet:

 

 

Mon projet s'appelle "test".

recuperez votre endpoint:

https://mainnet.infura.io/v3/3517b958af8b46c8b87f17f2f09f039f

 

Il vous faut python installé et un environnement virtuel. Si vous ne savez pas comment faire un environnement virtuel, ouvrez un terminal, crééz un dossier et utiliser pipenv.

A l'intérieur du dossier vous tapez pipenv install

Puis vous installer la librairie web3 en tapant pipenv install web3

vérifiez que l'installation c'est bien passée:

>>> pipenv shell

>>> python

Ok tout fonctionne, pas de message d'erreur ;)

Créez un fichier web3_test.py et collez le code suivant à l'intérieur

from web3 import Web3

# votre endpoint à vous 
i_url = 'https://mainnet.infura.io/v3/3517b958af8b46c8b87f17f2f09f039f'

w3 = Web3(Web3.HTTPProvider(i_url))
print("Sommes-nous bien connecté? ", w3.isConnected())

Puis lancez le script:

 

Ok dans la prochaine étape on parlera comment faire interagir python avec les smart contracts ;)

 

 

 

 

 

 

 

 

 

    Python ethereum et web3 pour les developpeurs