Angenommen, ich bin eine Börse mit vielen Benutzern. Wenn ich einen Benutzer auffordere, ETH einzuzahlen, gebe ich ihm eine eindeutige Adresse, damit ich ihm die ETH zuordnen kann.
Mit Bitcoin ist das einfach. Die Bitcoin-Wallet-Software handhabt dies und ich kann BTC auf mehreren Adressen haben und es wird als ein Konto behandelt.
Ich verstehe, dass dies bei Ethereum anders ist.
Ich habe 2 Möglichkeiten gefunden, dies zu erreichen:
Stellen Sie einmal für jeden Benutzer einen Weiterleitungs-Smart-Vertrag bereit und geben Sie die Adresse an den Benutzer weiter. Wenn der Smart Contract ETH empfängt, leitet er ihn an meine Haupt-ETH-Adresse weiter.
Vorteile :
Nachteile :
Erstellen Sie für jeden Benutzer ein Konto. Geben Sie den privaten Schlüssel nicht an den Benutzer weiter. Gehen Sie regelmäßig alle "Benutzerkonten" durch, die ich kontrolliere, und senden Sie die ETH an das "Hauptkonto".
Vorteile:
Nachteile:
Welcher dieser beiden Ansätze kostet mich mehr Benzin? Intuitiv denke ich, dass 2nd weniger Gas kosten würde, weil der Einsatz von Smart Contracts teurer ist als der Versand von ETH. Aber der erste Ansatz scheint derjenige zu sein, der bei Börsen beliebter ist. Warum ist das so?
Ich sollte beachten, dass ich nicht erwarte, dass Benutzer ETH mehr als einmal einzahlen. (Oder ich würde ihnen für jede Einzahlung eine neue Adresse geben, damit es einfacher ist, den Überblick über ihre Einzahlungen zu behalten)
Angenommen, ich bin eine Börse mit vielen Benutzern. Wenn ich einen Benutzer auffordere, ETH einzuzahlen, gebe ich ihm eine eindeutige Adresse, damit ich ihm die ETH zuordnen kann.
Mit Bitcoin ist das einfach. Die Bitcoin-Wallet-Software handhabt dies und ich kann BTC auf mehreren Adressen haben und es wird als ein Konto behandelt.
Ich verstehe, dass dies bei Ethereum anders ist.
Ich bin mir nicht sicher, ob ich verstehe, was Sie erreichen wollen. Wenn Sie möchten, dass Leute Ether in Ihren Vertrag einzahlen, können Sie dann nicht einfach eine Zuordnung von Adressen zu Guthaben pflegen? Die Adresse des Absenders würden Sie mit msg.sender erhalten
Sie würden einen Vertrag erstellen, der Verträge erstellt. Ihr Rahmenvertrag erstellt neue „Kind-Wallets“ für Ihre Benutzer.
Sie können die Kinder dann auf einen bestimmten Besitzer hören lassen, der beim Erstellen der neuen Brieftasche erstellt wird. Auf diese Weise haben sie eine bestimmte Adresse, die Sie kontrollieren. Wenn Sie das Geld einfach sofort an Ihre eigene Brieftasche senden möchten, können Sie nur eine Funktion im neuen Vertrag haben, bei der es sich um eine Fallback-Funktion handelt, die die gesamte ETH an eine bestimmte Adresse sendet.
Nulik
Nulik
Juraj Petrik
Nulik