Wie erstelle ich meinen eigenen ERC20-Token?

ERC20 Token erstellen

Eigenen Coin erstellen – Code für ERC20-Token schreiben

Es gibt verschiedene Gründe um seinen eigenen ERC20-Token auf der Blockchain zu veröffentlichen. Ich persönlich denke zwar, dass dieses ERC20-Tutorial uns allen sehr viel Datenmüll bescheren wird, aber vielleicht kommt auch etwas Gutes dabei rum. Es erinnert mich ein wenig an die Zeiten von GeoCities, als alle anfingen HTML-Tutorials zu lesen. Plötzlich hatte jeder Dackelverein, Sport-Club und Familienurlaub eine Webseite. Wer seiner Freundin zum Jahrestag einen eigenen Cryptocoin widmen möchte, sollte sich vielleicht noch ein paar praktische Token-Features ausdenken. Sonst ist der ERC20-Token nämlich so praktisch wie Unterwäsche im Tiefkühlfach.

Dieses ERC20 Tutorial beschreibt die einzelnen Schritte beim Erstellen eines Tokens. Wir starten beim Einrichten eines Wallets und enden bei der Veröffentlichung des Tokens auf der Ethereum-Blockchain.

Unser Token wird ein Default ERC20-Token sein und der Quellcode wird alles beinhalten, was für den Anfang notwendig ist. Er kann sogar als Basis für Anwendungen dienen, die auf der Blockchain aufsetzen. Das Potential von ERC20-Tokens ist erheblich umfangreicher, als sie nur von einem Wallet ind das andere Wallet verschieben zu können.

Unser Werkzeug und unsere Zutaten in diesem Tutorial:

  • Ethereum Wallet-Adresse (im Ropsten Test-Netzwerk)
  • Einige Ethereum (im Ropsten Test-Netzwerk)
  • Ein Texteditor (z. B. Sublime, Atom, TextWrangler)
  • Solidity Contract (Token Quellcode)

Erstellen einer Ethereum Wallet-Adresse

Wir verwenden in diesem Tutorial ein Ethereum-Testnetzwerk. Dieses Netzwerk verwendet eine Blockchain mit den Eigenschaften der echten ETH-Blockchain. Allerdings können wir uns hier ein wenig austoben ohne gleich ein Vermögen an ETH auszugeben. Viel wichtiger noch: Wir lernen ganz sicher unsere Anforderungen an den ERC20-Token zu überdenken.

 

 

Wallet bei MyEtherWallet anlegen

Beim Einrichten einfach oben rechts auf die Ecke klicken und das Netzwerk auf Ropsten ändern. Anschließend vergeben wir ein Passwort und laden die Keystore-Datei herunter. Außerdem speichern wir den Private Key an einem sicheren Ort (wenn es sowas überhaupt gibt). Man kann es nicht oft genug sagen, aber jeder der Zugriff auf diesen Private Key hat ist Herrscher über alle Reichtümer in dem soeben angelegten Wallet.

ETH Ropsten Test-Netzwerk

Auf die Auswahl des Ropsten Netzwerks achten.

ETH Wallet

Passwort vergeben und Private Key speichern.

Um unser Wallet anzuzeigen klicken wir auf View Wallet-Info. Anschließend kann man dort den Privat Key eingeben und das Wallet wird entsperrt bzw. angezeigt.

ETH Wallet

Alle Wallet Daten inkl. Kontostand auf einen Blick.

 

Texteditor für den Token-Quellcode

Wenn auf dem Rechner noch kein Texteditor vorhanden ist, dann laden wir jetzt einen der folgenden Texteditoren herunter:

  • Sublime Text https://www.sublimetext.com/
  • Atom https://atom.io/
  • TextWrangler https://itunes.apple.com/de/app/textwrangler/id404010395?mt=12

Solidity Contract Quellcode

Als Grundlage für neue ERC20-Token wird gern der Code von BokkyPooBah verwendet. Diesen laden wir jetzt hier herunter:

https://github.com/bitfwdcommunity/Issue-your-own-ERC20-token/blob/master/contracts/erc20_tutorial.sol

Wir werden diesen ERC20-Quellcode später nach unseren Bedürfnissen anpassen.

 

Ropsten ETH

Zeit das wir uns ein wenig Spielgeld besorgen, Damit wir beim Testen über ein gefülltes Wallet verfügen. Hierfür muss uns nicht ein anderer Wallet-Nutzer ETH schicken und wir müssen auch keine ETH minen, sondern wir verwenden hierfür folgenden Dienst:

https://faucet.ropsten.be/

ETH zum Testen

Wallet-Adresse eingeben und ETH zum Testen erhalten.

Nach Eingabe der Wallet-Adresse werden uns in wenigen Sekunden ETH auf unser Wallet überwiesen.

 

Los geht’s!

Als erstes öffnen wir den Token-Quellcode, den wir uns runter geladen haben. Wir müssen ein paar Anpassungen an dem Quellcode vornehmen, damit wir am Ende unseren eigenen ERC20-Token haben.

Gleich am Anfang der Datei finden wir einen Kommentarblock den wir editieren können:

  • ZEILE 4: Titel für den Smart Contract (ERC20-Token)
  • ZEILE 6: ETH-Adresse (Wallet-Adresse die wir bei MyEtherWallet angelegt haben)
  • ZEILE 7: Symbol für den Coin
  • ZEILE 8: Name für den Token

Die nächsten Änderungen sind wie folgt:

+ ZEILE 102: Wir ändern den Contract-Namen von “FucksToken” in unseren Token-Namen.
+ ZEILE 116 und 117: Hier übernehmen wir die gleichen Werte wie oben in dem Kommentarbereich.
+ ZEILE 120 und 121: Hier verwenden wir wieder die Wallet-Adresse, die wir bei MyEtherWallet erstellt haben.

Die Einstellungen für die Dezimalstellen des Tokens (Zeile 118) und das Gesamtvolumen der Token (Zeile 119) lassen wir wie sie sind.

Die Dezimalstellen definieren in wieviel Teile unser Coin aufgeteilt werden kann. In unserem Fall sind dies 18. Bei dem Gesamtvolumen handelt es sich um die verfügbare Menge. 100 Token entspricht so einem Gesamtvolumen von 100000000000000000000.

Abschließend speichern wir unseren Quellcode ab. Wir haben unseren eigenen ERC20-Token “programmiert”.

 

Erwecken wir unseren ERC20-Token zum Leben!

Mit unserem Quellcode in der Zwischenablage besuchen wir die Webseite http://remix.ethereum.org/ und klicken oben links auf das kleine Plus-Symbol. Anschließend öffnen sich ein Fenster und wir vergeben einen Dateinamen. Jetzt fügen wir den Quellcode von unserem Token in das Editor-Fenster ein. Wenn wir alles richtig gemacht haben, erscheint keine rote Fehlermeldung. Warnhinweise sind durchaus möglich und können ignoriert werden.

Auf der rechten Seite klicken wir jetzt auf COMPILE und wählen unseren Token aus. Mit einem Klick auf BYTECODE kopieren wir neuen Code in die Zwischenablage. Wir benötigen allerdings nicht den vollständigen ByteCode, sondern nur einen ganz bestimmten Teil.

Zurück in unserem Texteditor öffnen wir eine neue Datei und fügen den ByteCode ein. Anschließend kopieren wir Wert, der in der Zeile ‘object’ hinterlegt ist. Wichtig: Alles zwischen den Anführungszeichen kopieren und vor die Zeichenkette 0x vorne anfügen.

 

 

Die heiße Phase für unseren Token

Wird Zeit das wir unsere Token in unser Wallet schaufeln. Wir besuchen erneut die Webseite MyEtherWallet und denken bitte daran, dass wir auf dem Ropsten Test Network arbeiten. Wir müssen unbedingt darauf achten oben rechts die entsprechende Auswahl zu treffen.

Nach dem Login wechseln wir im Menü auf die Registerseite Contracts und anschließend auf Deploy Contract.

Die folgende Seite verrät schon was jetzt folgt. Wir fügen den ByteCode in das entsprechende Fenster ein. Der Wert GAS LIMIT ändert sich automatisch und wird nicht editiert.

FINAL COUNTDOWN: Wir wählen unten die Option Private Key und kopieren diesen rechts daneben in das Eingabefeld und bestätigen die Eingabe.

Es folgen zwei weitere Bestätigungen über den Button Sign Transaction und Deploy Contract.

ERC20 Token veröffentlichen

Unser ERC20-Token kurz vor seiner Geburt.

Nach ein paar Sekunden können wir die Transaktion unter https://ropsten.etherscan.io überprüfen. Wenn alles geklappt hat ist das super, wenn nicht beginnt jetzt die Fehlersuche. Zurück auf Start!

Smart Contract im Wallet

Der fertige Contract auf der Blockchain.

Damit wir auf unsere Tokens zugreifen können, gehen wir zurück zu MyEtherWallet und stellen eine Verknüpfung zu den Tokens her. Gebucht sind sie bereits auf dem Wallet. Hierfür klicken wir auf Send Ether & Tokens und fügen die Tokens unten rechts unserem Wallet hinzu. Die geforderte Contract-Adresse finden wir unter https://ropsten.etherscan.io (s. Screenshots).

Token Wallet hinzufügen

Token im Wallet verfügbar machen.

Anschließend können wir unsere Token von unserem Wallet auf andere ETH-Wallets überweisen.

Jetzt können wir unser Token an jedes ETH-Wallet senden.

Wenn alles geklappt hat, kann der Token über die gleiche Abfolge auf der ETH-Blockchain deployed werden. Hierfür sind dann selbstverständlich echte ETH notwendig und ein Wallet im Live Network.

 

Was kann man jetzt mit dem Token anstellen?

Wie die Vergangenheit bewiesen hat, eine ganze Menge Blödsinn. Die Frage ist eigentlich ob es einen sinnvollen Ansatz gibt ein Geschäftsmodell, eine kreative Idee oder digitale Verträge bzw. digitale Werte dezentral und sicher abzulegen. Ist die Nutzung der Blockchain sinnvoll? Können bestehende Prozesse dadurch verbessert werden?

Niemand sollte einen Token basteln und sich anschließend fragen, was er damit anfangen kann. Man geht auch nicht in den Baumarkt und kauft einen 50kg Sack Beton und fragt sich anschließend, was man Schönes betonieren kann… und die Einsatzmöglichkeiten eines ERC20-Tokens sind, abgesehen von der Errichtung einer Grundstücksmauer, enorm vielfältig.

In unserem speziellen Fall haben wir die einfachste Form eines ERC20-Tokens dargestellt. Wer mit dem Einsatz seines gerade erstellten Tokens brachialen Reichtum bis nächste Woche Dienstag provozieren will, den muss ich leider enttäuschen. Ganz so einfach ist es dann doch nicht.

 

Mein eigener ICO?

Viele Token-Interessierte verknüpfen mit dem Thema ERC20 sofort die Umsetzung einer Geschäftsidee, sprich mit einem eigenen ICO. Der Token-Quellcode muss allerdings bestimmte Funktionen beinhalten, damit ein ICO und der Verkauf von Tokens abgewickelt werden kann.

Angelehnt an das klassische Crowdfunding gibt es für Token den sogenannten Crowdsale. Dabei wird definiert was ein Token kosten soll bzw. was die Zielsumme ist und wie lange der Crowdsale andauert. Hinzu kommen ein paar weitere Attribute die man unbedingt vor dem Token Deployment beachten muss! Ist der Token erst einmal auf der Blockchain, gibt es kein zurück mehr. Da hilft kein strampeln und nichts aus dem Baumarkt.

Abgesehen von dem ICO-Token-Quellcode gibt es noch weitere Punkte, die man vor einem ICO unbedingt beachten sollte. Das Znake-Team bietet im kostenlosen Mitgliederbereich eine Übersicht von Themen (Download: ICO Checkliste), die für einen erfolgreichen ICO wichtig sind.

 

Fragen?

Ich freue mich auf Kommentare und Anregungen für ein weiteres Tutorial zu dem Thema. Gern auch etwas technischer zum Thema ‘Projekte mit Solidity umsetzen’. Wer hat Ideen?

 

Ich benötige Hilfe beim Erstellen meines Tokens:

 

Software Engineer & Marketing Architect

About Steven Rohner

Software Engineer & Marketing Architect

2 thoughts on “Wie erstelle ich meinen eigenen ERC20-Token?

  1. redznake
    19. November 2018 at 15:26

    man sollte die kosten für das deployment auf 100 eth erhöhen. mit dem artikel hast du 10 weitere bullshit tokens provoziert, weil irgendwelche lackaffen dollarzeichen in den augen bekommen.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.