Parity : Vos premiers pas avec Ethereum


Introduction:

Parity est un client fiable et performant,permettant de se connecter au réseau Ethereum  sous licence GPLv3.
Parity, par défaut, permet un accès rapide à un portefeuille d’Ethereum type Parity Wallet.
L’outil permet de:

  • Créer et gérer les comptes Ethereum
  • Gérer les ethers et les jetons Ethereum
  • Créer et enregistrer les jetons
  • Créer, déployer et interagir avec les smarts contracts
  • etc.

Par défaut, Parity démarre un serveur JSONRPC sur 127.0.0.1:8545 et un serveur de websockets sur 127.0.0.1:8546 (ceci est configurable) et supporte plusieurs autres type d’APIs.

Installation:

Il suffit d’aller sur https://www.parity.io et télécharger le binaire suivant votre OS.

Par exemple, si vous êtes sous une distribution basée sur Debian, c’est simple, téléchargez le binaire, ouvrez une terminale et lancez :

Puis, assurez-vous que Parity a été bien installé, puis lancez :

Si vous vous êtes bien débrouillé, votre écran devrait vous montrer ça :

Déployer un smart contract avec Parity:

Tout d’abord, on va lancer un noeud d’Ethereum, conçu spécialement pour les développeurs,qui par la suite va créer un noeud privé qui fonctionnera uniquement sur le localhost.

Vous allez avoir un résultat similaire à celui-là :

Maintenant, ouvrez http://127.0.0.1:8180, vous allez entrer dans l’UI de Parity:

Comme vous remarquez, vous avez un compte nommé Development Account qui a un très grand nombre d’ethers dédiés aux tests. Vous pouvez, bien sûr, ajouter plusieurs autres comptes d’Ethereum avec l’interface UI de parity.

Maintenant, allons sur: CONTRACTS -> Develop:

Créons notre Smart Contract :

example_contract.sol

Compilation et déploiement du Smart Contract:

Compile: 

Deploy: (Choisissez le contrat nommé MyTokenContract avant le déployement)

PS: Comme vous le remarquez, Parity nous lance le GAS estimé pour cette transaction. On y reviendra sur la question des GAS dans les prochains tutoriels.

Le contrat devra être déployé correctement à ce stade.

Maintenant, envoyons quelques ethers à l’adresse de notre contrat comme suit:

Choisissez l’adresse du contrat de MyERC20Token et envoyez par exemple 15 ethers comme suit:

Puis allons sur: CONTRACTS Voilà ce que ça devrait donner.

Comme vous voyez, notre smart contrat a maintenant 15 ethers comme balance.

NB: Il faut toujours que votre smart contrat ait suffisamment d’ethers pour le GAS(frais des transactions interne du smart contrat).

En cliquant sur le smart contract on aura:

Et si on défile un peu la page on pourra voir:

À ce stade, le statut des variables publiques de notre smart contract, les mappings, les listes et bien d’autres, s’affichent.

Par exemple, balances , un mapping (dictionnaire), permet de faire des query directement pour extraire les valeurs des clés entrées par celui qui va communiquer avec notre smart contract. À noter, balances est publique, toute personne voulant interagir avec notre contrat peut interagir avec notre mapping balances.

Vous trouvez la suite des fonctions écrites de notre smart contract , que vous pouvez interagir avec, ci-dessous :

À ce niveau, on peut visualiser les événements en relation avec notre smart contract. Le log actuel est généré en interagissant avec la fonction userGetToken du contrat intelligent, on va y arriver dans un moment.

Maintenant, essayons d’exécuter les fonctions du contrat:

À ce stade, on peut visualiser les fonctions inscrites dans notre smart contract.

Faisons la manipulation suivante et exécutons la fonction userTokenBalance:

La partie concernant les logs s’affiche ainsi :

Vidons l’adresse du smart contract de ses ethers et envoyons les au propriétaire du smart contract avec la fonction withdrawEtherToOwner:

Dans la partie log on aura :

 

Donc, comme vous l’avez remarqué, Parity rend le développement des smart contracts et l’interaction avec eux assez facile même pour les plus débutants d’entre nous.

Ceci dit, on aura souvent tendance à communiquer avec nos smart contracts en dehors de l’environnement du travail qu’offre Parity. Du coup, pour assurer cette universalité, on aura besoin de web3.py ou web3.js.

Communication avec notre Smart Contract:

Dans cette démonstration, nous allons utiliser web3.py. Mais avant tout, on doit se prendre en considération que pour communiquer avec n’importe quel smart contract on doit avoir sous la main son ABI code et l’adresse du Smart contract .

Pour trouver l’ABI code avec Parity on clique sur DETAILS comme suit:

Donc, en gros, notre ABI code est:

Supposons que l’adresse de notre contrat est: 0xb0b9b41F20298C5A5823F08Bac2c78935FEF6d80

Interaction avec notre Smart Contract:

On crée un fichier nommé: contract_informations.json où on met l’adresse de notre contract et son ABI code sous forme d’un fichier JSON (pensez à utiliser votre addresse du contract et votre code ABI):

Ensuite, on envoie quelques ethers à l’adresse de notre smart contract et on lance la simulation:

Le code Python et web3.py qui va communiquer avec le smart contract.

interaction_with_contract.py

Donc, il suffit de lancer Parity avec:

Et ensuite:

Vous aurez un résultat similaire à ceci:

PS: Vous devez confirmer les transactions sur Parity puisque nous allons modifier le statut des variables dans notre smart contract, c’est à dire on va payer des frais de transactions (GAS).

Au plaisir de vous retrouver au prochain tutoriel!

Tags

Articles liés

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Rejoignez notre chaîne Telegram