Comment estimer les frais de boulangerie et de stockage avec @taquito pour un contrat?
-
-
Désolé,je ne suispas uneexportation sur Taquito.Avez-vous une référence à la documentation de l'estimateur?Savez-vous s'ilexiste unmoyen d'exécuter Taquitoen mode de débogage,de sorte que les appels RPC sous-jacents sont visibles?Cela aiderait à comprendre l'erreur que vous recevez.Sorry, I'm not an export on taquito. Do you have any reference to the documentation of the estimator? Do you know if there is a way of running taquito in a debugging mode, so that the underlying RPC calls are visible? That would help to understand the error you receive.
- 0
- 2020-02-04
- arvidj
-
Du Tezos-Dev Slack,#taquito: "Si votre scriptfonctionne dans lenavigateur,vouspouvez utiliser l'onglet Console/réseau de débogage dunavigateur".Jepense que cette sortiepourrait aider à diagnostiquer votreerreur.From the tezos-dev slack, #taquito: "if your script runs in the browser, you can use the browser’s debugging console/network tab". I think this output could help to diagnose your error.
- 0
- 2020-02-04
- arvidj
-
1 réponses
- votes
-
- 2020-03-04
Vouspouvez appeler
toTransferParams({amount: 5})
sur laméthode que vous souhaitezestimeret transmettre ce résultat àTezos.estimate.transfer()
Les résultats dont ressembleront quelque chose comme:
Estimate { _gasLimit: 66993, _storageLimit: 0, opSize: 216, baseFeeMutez: 100 }
Exemple complet:
Tezos.contract.at('KT1KBhwoSeqJt26oK8yjubTfdSgDuaVC87xR')) .then(contract => { const amt = 5 return contract.methods .feedUserAccount('tz3WQjEGvpjnb6h6h8zmrFmhzeEzXSDddz6H') .toTransferParams({amount: 5}); }) .then(tx => { console.log(tx) return Tezos.estimate.transfer(tx) }) .then(est => console.log(est)) .catch(error => console.log(error))
You can call
toTransferParams({amount: 5})
on the method you want to estimate, and pass that result toTezos.estimate.transfer()
The results of which will look something like:
Estimate { _gasLimit: 66993, _storageLimit: 0, opSize: 216, baseFeeMutez: 100 }
Full example:
Tezos.contract.at('KT1KBhwoSeqJt26oK8yjubTfdSgDuaVC87xR')) .then(contract => { const amt = 5 return contract.methods .feedUserAccount('tz3WQjEGvpjnb6h6h8zmrFmhzeEzXSDddz6H') .toTransferParams({amount: 5}); }) .then(tx => { console.log(tx) return Tezos.estimate.transfer(tx) }) .then(est => console.log(est)) .catch(error => console.log(error))
J'ai un simple contratintelligent qui détient desfonds de l'utilisateuret quipeut être retiréen envoyant unmessage signé.
Cependant,je voudrais offrir lapossibilité aux utilisateurs d'anticiper lesfrais qu'ils doiventpayer à chaquefois qu'ilsenvoient desfonds au contrat.
Jepeux appeler correctement le contrat avec le Library Taquito à l'aide de l'objet d'abstraction du contrat:
Cependant,lorsqueje leteste avec la classe
estimation
,je reçois untezosoperationError:Message d'erreur:
Le
FeeduserAccount
attend unkey_hash
et j'aigénéré leparamètre valeur avec smartpyexplorateur. Maisje nepeuxpasfairefonctionner,est-ce labibliothèque ou lafaçon dontje génère la requête?Le contrat Babylonetpeut êtretrouvé à cette adresse:
kt1kbhwoseqjt26ok8yjubtfduavc87xr