Wie kann man ICO-Investoren einschränken, ihre ERC20-Token einzulösen, ohne sie darauf zu beschränken, Token untereinander zu handeln?

Wir wollen ein ICO schaffen, bei dem Anleger jederzeit ERC20-Token kaufen können, aber mindestens 3 Monate ab Kaufdatum warten müssen, um sie auf unserer Plattform einzulösen/einzulösen.

Wir beabsichtigen jedoch nicht, die Investoren daran zu hindern, Tokens außerhalb unserer Plattform untereinander zu handeln/zu übertragen/auszutauschen.

Beispiel 1) A kauft am 14. Januar 400 ERC20-Token. Er verkauft am 15. März 200 Token an B (außerhalb unserer Plattform). C kauft am 15. März 200 Token von der Plattform.

Jetzt kommen A, B und C, um die Token für FIAT am 15. April (nach 3 Monaten ab dem ursprünglichen Kauf von Token) auf unserer Plattform einzulösen / einzulösen.

Jetzt sollten sowohl A als auch B in der Lage sein, die Token einzulösen / einzulösen, da beide nach 3 Monaten nach dem ursprünglichen Kauf dieser Token zur Einlösung kamen. Aber C kann es nicht einlösen, da die 3 Monate ab Kaufdatum noch nicht abgelaufen sind.

Wie können wir das erreichen? Können wir Zeitstempel oder Parameter mit Token oder so binden? Was ist die bestmögliche Lösung?

Antworten (2)

ERC20 sind fungible Token.

Aus Benutzersicht gibt es keinen Unterschied zwischen Token, Sie können den Token selbst keine zusätzliche Bedingung zuweisen. Alle 200 Token sind gleich, egal ob sie von A, B oder C stammen.

Da Sie den Token keine weiteren Bedingungen zuweisen können, besteht ein gängiger Ansatz darin, Bedingungen an die Eigentümer zu knüpfen. Zum Beispiel kann Besitzer A nach einem Monat 100 Token einlösen. Wenn A Token an B überträgt, kann diese Eigenschaft auf B kopiert werden. Sie müssen den Fall bestimmen, wenn A 100 Token hat, die am 1. Mai eingelöst werden, und weitere 100, die am 15. Mai eingelöst werden.

Ich denke, diese Anforderung ist mehr von Ihrer Plattform als allgemein. Sie können also daran denken, es außerhalb der Kette zu handhaben. Smart Contract hat also keine Einschränkungen.

Also in Ihrer Datenbank,

  • A kann jederzeit nach dem 14. April 400 Token einlösen
  • C kann jederzeit nach dem 15. April 200 Token einlösen

Da B Token nicht direkt von Ihrer Plattform gekauft hat. Sie haben keinen Zugang dazu. Wenn Sie Einschränkungen für B nach dem Datum wünschen, an dem er Münzen erhalten hat. Sie können Blockchain-Ereignisse beobachten, um Ihre DB zu füttern, dass A 200 Münzen an B übertragen hat, und dann DB-Einträge so aktualisieren, dass sie wie folgt aussehen:

  • A kann jederzeit nach dem 14. April 200 Token einlösen
  • C kann jederzeit nach dem 15. April 200 Token einlösen
  • B kann jederzeit nach dem 15. April 200 Token einlösen