Best Practices für den Umgang mit Ether (Ξ) und Token

Ich schreibe einen Vertrag, der sowohl Ether (Ξ) als auch ERC20-Token handhaben soll. Ich weiß, dass viele dApps WETH verwenden, und ich verstehe, was es tut, aber ich bin mir nicht sicher, ob es verwendet wird, weil es am effizientesten ist, um das zweimalige Schreiben von Codelogik, Benzinkosten usw. zu vermeiden - oder aus einem anderen Grund?

Antworten (1)

WETH existiert, damit die ETH dem ERC20-Standard folgen kann. Dies gibt Entwicklern die Möglichkeit, konsistenten Code zu schreiben, der es Dapps ermöglicht, einfach entweder ETH- oder ERC20-Token zu verwenden, ohne sich um Interaktionen zwischen den beiden kümmern zu müssen. Darüber hinaus gibt es bestimmte Funktionen von ERC20-Token, die ETH nicht hat.

Das beste Beispiel, um dies zu verstehen, ist das Nachdenken über dezentralisierte Börsen. DEXs sind so geschrieben, dass sie mit ERC20-Token interagieren und die Verwendung von WETH erfordern (im Gegensatz zu ETH). Der Grund dafür ist, dass ERC20-Token Funktionen haben, die ETH nicht hat .

Ein dezentraler Börsenhandel funktioniert wie folgt: Der Hersteller jedes Handels muss zuerst die ERC20- approveFunktion für den Token aufrufen, den er zu handeln versucht (was es dem Börsenvertrag ermöglicht, die Token des Benutzers in seinem Namen zu senden). Der Hersteller bucht dann seine Order in das Orderbuch und wartet darauf, dass es ausgeführt wird. Wenn der Abnehmer die Order ausführt, wird die ERC20-Funktion transferFromaufgerufen, die den ERC20-Token vom Hersteller an den Abnehmer überträgt und so den Handel abschließt. Diese Aktionen sind mit ETH nicht möglich, da in ETH selbst keine und- Funktionen eingebaut sind .approvetransferFrom

WETH (sowie PETH) ist auch im MakerDAO-Ökosystem zu sehen.

Es gibt einen kanonischen WETH-Vertrag , der von fast allen im Netzwerk verwendet wird.

Ich danke Ihnen für Ihre Erklärung. Also, nur zur Bestätigung, ein dezentraler Austausch könnte technisch mit nativem Ξ implementiert werden, aber es wäre sehr unhandlich ?
Es würde von der Architektur abhängen. Der Börsenvertrag müsste die ETH vom Hersteller erhalten und verwahren, bis ein Abnehmer einen Handel initiiert. Ich stelle mir vor, dass der ERC20-Aspekt ähnlich wie meine obige Antwort funktionieren würde. Ich habe nicht alles durchdacht, daher bin ich mir nicht sicher, ob dies vollständig machbar ist.