Comment voir les journaux d’exceptions?

Fariha Abbasi

Comment voir les journaux d’exceptions?


J’utilise le compilateur de solidité ^ 0.4.23, j’ai ajouté des journaux à la fonction à des points d’exception comme celui-ci:

 function firstSaleDelivery(address _beneficiary, uint256 rate) public onlyOwner{ require(!presaleOpen && !firstsaleOpen, "First Sale is NOT CLOSE"); if(preSaleTokens >= 0){ saleTokens = saleTokens.add(preSaleTokens); preSaleTokens = 0; } uint256 ethers = firstSaleFunds[_beneficiary]; uint256 tokens = ethers.mul(rate); // <u> require(saleTokens >= tokens, "NO Sale Tokens Available"); if(ethers >= 5 && ethers <= 9 ){ tokens.add((tokens.mul(10)).div(100)); // <u> } else if(ethers >= 10 && ethers <= 200 ){ tokens.add((tokens.mul(25)).div(100)); // <u> } token.transfer(_beneficiary,tokens); saleTokens = saleTokens.sub(tokens); 

}

Lorsque j’appelle la fonction, et si je fais face à une exception, je ne peux pas voir ces journaux, où puis-je les voir?

Badr Bellaj ♦

vous pouvez utiliser remix pour déboguer votre code

Fariha Abbasi

Je ne le veux pas à des fins de débogage, je veux que mes utilisateurs de contrat sachent pourquoi leur transaction a échoué.

Badr Bellaj ♦

alors faites-en une fonction bool qui retourne false en cas d’échec !!

Lauri Peltonen

Renvoyer un false ne dit pas vraiment pourquoi il a échoué.

Fariha Abbasi

Oui, mon objectif est de faire savoir aux utilisateurs pourquoi il a échoué,

Réponses


 Thomas Jay Rush

Les journaux ne sont pas produits si la transaction est annulée (voir cette réponse: est-il possible de récupérer un journal des événements d’une transaction annulée? ).

smarx

Malgré le titre trompeur, la question ne concerne pas les événements.

Thomas Jay Rush

Oh. Dois-je supprimer la réponse? Je ne connais pas l’étiquette.


 smarx

La chaîne de raison est un tout nouvel ajout à revert et à require (environ une semaine). Je crois que DebugTrace de Geth expose la chaîne de raison, mais sinon je ne suis pas sûr qu’il y ait encore un support d’outillage.

J’imagine que bientôt Etherscan les fera juste surface, mais pour le moment, les chaînes de raisons ne sont pas particulièrement accessibles aux utilisateurs finaux.

earizon

Si je comprends bien, s’il y a une exception, le TX n’est jamais extrait et il ne sera donc jamais présent sur Etherscan. Est-ce exact?

smarx

Non, c’est incorrect. Les transactions qui reviennent sont toujours exploitées et coûtent toujours du gaz.

smarx

Voici une transaction récente qui est revenue: etherscan.io/tx/… .

 

comment, d’exceptions?, journaux, Les, voir

 

yahoo

Laisser un commentaire

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