Was ist IERC20?

Ich verstehe die ERC20-Standards, die Funktionen wie totalSupply() enthalten.

Gleichgewicht von()

Zuschuss()

überweisen()

genehmigen()

Übertragen von()

Wenn ich das Openzeppelin überprüfe, könnte ich sehen, dass "Vertrag ERC20 IERC20 ist", was einige zusätzliche Funktionen hat.

Frage

  1. Was ist IERC20?
  2. Wie unterscheidet es sich von ERC20?

Antworten (1)

contract ERC20 is IERC20

Interpretiere das so:

ERC20ist eine Implementierung der in IERC20.

IERC20definiert Funktionssignaturen ohne Angabe des Verhaltens; die Funktionsnamen, Ein- und Ausgänge, aber kein Prozess. ERC20erbt diese Schnittstelle und ist erforderlich, um alle beschriebenen Funktionen zu implementieren, andernfalls wird der Vertrag nicht bereitgestellt.

Wenn dies eingesetzt wird, können wir mit Sicherheit sagen, dass alle Funktionen, die in der ERC20-Schnittstelle beschrieben IERC20sind, entsprechende Implementierungen in haben ERC20.

Ich hoffe es hilft.

Wie ich sehe, hat IERC20 neue Methoden wie verringertAllowance(), _mint(),_burn() und einige mehr. Sind diese im neuen ERC20-Standard enthalten? Während ich diese paar Monate studiert habe, habe ich das nicht gesehen.
ERC20 spezifiziert das Verhalten einiger Standardfunktionen, aber nichts in der Spezifikation verhindert eine Erweiterung. Bei diesen Funktionen handelt es sich um brennbare, mintable und andere Erweiterungen. Wenn ich auf das IERC20 schaue, sehe ich diese nicht standardmäßigen Erweiterungen nicht. github.com/OpenZeppelin/openzeppelin-solidity/blob/master/…