Wie versendet man einen Token mit Ether? (mehrere Varianten)

Ich möchte mein Token an Benutzer verkaufen, die mit Ether bezahlen.

  • Ist es eine gute Idee, vom Benutzer zu verlangen, dass er seine Brieftasche (um Ether zu empfangen) als EVM-Nutzlast weitergibt?

  • Oder muss mein privater Schlüssel auf den Server hochgeladen werden, der die Verkäufe durchführt (wobei das empfangende Wallet über HTTP(S) geleitet wird) und die Logik im Servercode ausführen?

  • Oder sollte ich vielleicht Tokens an die gleiche Adresse senden wie die Adresse, von der ich Ether erhalte?

Bitte zählen Sie alle praktikablen möglichen Varianten (unter den oben oder anderen) mit ihren Vor- und Nachteilen auf, um dies zu tun (Implementierung des automatischen Verkaufs des Tokens mit Ether).

Ein vollständiger oder unvollständiger Solidity-Code zum Ausführen der Aufgabe wäre schön.

Ich denke, programtheblockchain.com/posts/2018/02/02/… sollte Ihre Frage beantworten.

Antworten (1)

Der übliche Ansatz besteht darin, die Token in die Obhut eines Smart Contracts mit einer Funktion zu geben, die die Token gegen Ether austauscht. Es ist nicht erforderlich, den Benutzer nach seiner Adresse zu fragen, da der Vertrag weiß, wer die Transaktion unterzeichnet hat, was bedeutet, wer den Ether gesendet hat.

Zugegeben, diese Antwort ist nur für Solidity-Entwickler sinnvoll. Wenn Sie mit Smart Contracts nicht vertraut sind, ist es nicht besonders einfach.

F1: Nicht erforderlich. Entweder Ihr Vertrag oder Ihre Brieftasche (manueller Prozess), die beide empfangen, "sehen", wer sie gesendet hat.

F2: Laden Sie niemals Ihren privaten Schlüssel hoch. Dieser Weg führt auf die dunkle Seite.

Q3: Ja. In beiden Fällen, manuell oder automatisiert, besteht die einfachste Logik darin, Ether in einem einfachen Handel an die Quelle der Gelder zu senden.

Ich hoffe es hilft.