Obtenez tout de la blockchain ethereum

Soli

Obtenez tout de la blockchain ethereum


J’espère que ce n’est pas une question stupide, mais je suis actuellement assez nouveau sur ethereum et je n’ai trouvé aucune autre ressource expliquant ce problème.

J’ai un contrat vraiment simple:

 pragma solidity ^ 0.4 . 18 ; contract TextSave   { uint public  mostSent =   0 ; string public  currentText =   "Put your own text here!" ; address public  owner =  msg . sender ; uint private  maxLength =   50 ; 

     function  setText ( string newText )   public  payable returns ( bool )   { 
         if   ( msg . value >  mostSent &&  bytes ( newText ). length <  maxLength )   { currentText =  newText ; mostSent =  msg . value ; 
             return   true ; 
         }   else   { msg . sender . transfer ( msg . value ); 
             return   false ; 
         } 
     } 

     function  withdrawEther ()  external { require ( msg . sender ==  owner ); owner . transfer ( this . balance ); 
     } 

     function   ()   public  payable { setText ( "Default text!" ); 
     } 
  } 

Maintenant, je voudrais afficher tous les textes enregistrés qui sont sur la blockchain?

Comment puis je faire ça? Dois-je modifier le contrat ou puis-je simplement utiliser web3 pour cela?

J’apprécie beaucoup vos réponses!

Réponses


 Roman Frolov

Comment puis je faire ça?

Tout d’abord, vous aurez besoin de stockage pour enregistrer vos textes d’historique.

string[] public saved_texts;

Deuxièmement, changez votre fonction.

 function  setText ( string newText )   public  payable returns ( bool )   { 
         if   ( msg . value >  mostSent &&  bytes ( newText ). length <  maxLength )   { saved_texts . push ( currentText ); currentText =  newText ; mostSent =  msg . value ; 
             return   true ; 
         }   else   { msg . sender . transfer ( msg . value ); 
             return   false ; 
         } 
 } 

Troisièmement, vous pouvez exécuter un appel comme TextSaveInstance.saved_texts.call(_index) dans la boucle de votre code js pour récupérer tous les textes du stockage.

Soli

Merci pour votre réponse! Pouvez-vous montrer la pièce avec le look comme un exemple javascript.

Roman Frolov

@Kare, vous avez accepté cette réponse, puis supprimé l’acceptation pour poser une autre question?! Désolé, mais ce n’est pas ainsi que fonctionne un site. Je vous ai déjà fourni une fonction pour récupérer des données à partir du code js. Si vous ne pouvez pas créer de boucle ou connecter le code js à la blockchain, alors c’est une autre question. Vous pouvez trouver des réponses à ces questions en utilisant la recherche, car elles sont assez basiques et ont certainement déjà été répondues auparavant.

Soli

Frovol Désolé ma faute. Tu as raison. Je viens d’accepter votre réponse très utile!

 

#de, #la, blockchain, Ethereum, Obtenez, tout

 

yahoo

Laisser un commentaire

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