Modifer la blockchain Ethereum depuis une page html/javascript avec web3.js

0

Nous avons vu dans le dernier tutoriel comment afficher des données de la blockchain Ethereum sur une page web.
Pour rappel, vous pouvez déployer votre code sur le réseau de test Ropsten.
Nous allons maintenant voir comment il est possible de modifier celle ci pour y inscrire des nouvelles informations, qui rappelons le ne pourront plus jamais être supprimées.
Repartons du contrat utilisé dans tous les tutoriaux :

pragma solidity 0.5;
 
contract message {
       
    string lemessage;
  
    constructor() public {
    }
       
    function definirMessage(string memory  _nouveaumessage) public {
       lemessage = _nouveaumessage;
    }
       
    function voirMessage() public view returns (string memory  ){  
        return lemessage;
    }
}

Nous avons déjà vu comment utiliser la fonction voirMessage dans le précédent tutoriel, et cherchons maintenant à utiliser l’autre fonction definirMessage. Celle-ci prend un paramètre, à savoir une chaîne de caractère qui deviendra le nouveau message en cours sur le contrat.

    Courses.definirMessage('Un nouveau message', function(error, result){
     if(!error){
          console.log(result);
     }
     else
         console.error(error);
    } );

D’un point de vue Javascript pas de conséquence particulière à signaler si ce n’est l’ajout du paramètre avec le message. Il faut par contre aussi obligatoirement ajouter le callback, qui nous permettra d’obtenir le numéro de la transaction pour la suivre sur Etherscan par exemple. Dans cette exemple, elle sera simplement affichée dans la console développeur, mais elle pourrait aussi être enregistré dans une base de données à part pour du suivi.

D’un point de vue utilisateur par contre, c’est totalement différent puisque celui-ci se verra proposer une fenêtre Metamask lui demandant de confirmer(et donc de payer) la transaction :

Une fois fait, vous obtiendrez dans la console le hash de la transaction (par exemple 
0x52afe3d3d38df16662729127950dee63f702f281)  ce qui vous permettra de la suivre sur Etherscan.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.