Ich muss Token mit ERC 20 erstellen und übertragen. Innerhalb der Standardschnittstelle von ERC 20 haben wir die Funktion genehmigen (Adressspender, mit Token), die wiederum Spender genehmigt, einige Token von (msg.sender) zu nehmen. Meine Frage ist, ob wir eine andere Kontoadresse angeben können, von der wir übertragen möchten, anstatt (msg.sender)..?? (dh können wir einen zusätzlichen Parameter für die Funktion genehmigen wie genehmigen (Adresseigentümer, Adressspender, uint-Token) ... übergeben?)
Wenn Sie möchten, dass Ihr Token ERC20-konform ist, müssen Sie die erforderlichen Funktionen mit den erforderlichen Signaturen haben. Das ist der springende Punkt des Standards.
Das lässt Ihnen jedoch zwei weitere Optionen:
1) Fügen Sie weitere Funktionen und/oder Vertragsvariablen hinzu. Sie können beliebige Funktionen mit beliebigen Signaturen und Funktionalitäten hinzufügen, solange die erforderlichen ERC20-Signaturen auch im Vertrag vorhanden sind.
2) Machen Sie innerhalb der erforderlichen ERC20-Funktionen, was Sie wollen. ERC20 kann nur als Schnittstelle betrachtet werden - es sagt Ihnen nicht, wie die Funktionen zu implementieren sind, sondern zwingt Sie nur dazu, bestimmte Funktionen im Vertrag zu haben. Sie können beispielsweise einige Daten mit einer benutzerdefinierten Funktion hinzufügen und approve
die Daten in der erforderlichen Funktion auf irgendeine Weise verwenden.
Wenn Sie dies tun, sind Sie kein ERC20-Token mehr.
Ein ERC20-Token muss die definierten Methoden mit genau denselben Signaturen verfügbar machen. Das bedeutet, dass Sie die Parameter oder Namen nicht ändern können.
Sie können Modifikatoren hinzufügen oder den Code innerhalb der Funktion aktualisieren (wie dies bei verschiedenen Implementierungen von pausierbaren Token und anderen erweiterten Token der Fall ist).
Wenn Sie eine zusätzliche Methode definieren möchten, können Sie dies tun, aber Ihre ursprüngliche Methode „approve()“ muss ihre Parameter beibehalten.
eth
approve(HariAddress, hackerAddress, 1000)
1000 Ihrer Token anrufen und stehlen kann ... Die Standardgenehmigung schützt Sie, weil Hari (msg.sender) dies tun muss fordernapprove
, dass Haris Token ausgegeben werden.Nulik
Jems Ack
Ismael