ERC20 ist eine Schnittstelle und keine Vertragsdefinition. Und da für jeden ausgeführten Maschinenbefehl Gas bezahlt wird, lässt sich nicht genau angeben, wie viel ein Call to Transfer bei einem ERC20-Vertrag kostet. Dies hängt davon ab, wie der ERC20-Vertrag (in Solidity) implementiert und in EVM-Code kompiliert wird.
Aber: Kann man zu diesen Gaskosten etwas Allgemeines sagen oder gibt es eine Referenzimplementierung, bei der wir genau sagen können, wie viel so ein Methodenaufruf kostet? Und gibt es eine untere Grenze für diese Zahl?
Wenn man sich einen ERC20-Transferanruf auf etherscan.io ansieht, scheinen die Gaskosten zwischen 50.000 und 105.000 zu liegen.
Ich habe das Gaslimit auf einer von mir gebauten Brieftasche auf 200.000 gesetzt. Bisher ist mir noch kein ERC20-Transferanruf begegnet, der diese Grenze überschritten hat.
Das einzige, was Sie definitiv sagen können, ist, dass es nicht unter 21.000 liegen wird, was die Mindesttransaktionskosten sind, und dass es nicht über dem gasLimit des Blocks liegen wird. Alles andere hängt von der Vertragsdurchführung ab. Der Durchschnitt der vorhandenen Token kann auf der Grundlage von Block-/TX-Daten berechnet werden.
Darüber hinaus können Sie Ihre Transaktion gegen Ihren lokalen Knoten testen, um eine ziemlich gute Schätzung zu erhalten, wie viel die Transaktion kosten wird.
Hari GTT Psicolabis
Thorkil Værge
Mikko Ohtamaa