Smart Contracts auf der Ethereum Blockchain mit dem BCO Token

Ethereum ERC20 Token

Hier stellen wir Euch unseren Bitcoin Club Oldenburg Token (BCO) vor.

Um die Blockchain Technologie und ihre Vorteile zu verstehen haben wir ein neues Projekt gestartet :

Den eigene Token bzw. Coin für den Bitcoin Club.

Wir zeigen Euch wie man seine eigene "Währung" erstellt.

Übersicht

  1. MetaMask installieren und einrichten
  2. gratis Test Ether anfordern
  3. Code für Smart Contract einfügen
  4. Code compilieren
  5. Token erstellen
  6. Konten und Accounts in Etherscan
  7. weitere Links

Unsere Token/Coins sind auf der Ethereum Blockchain aufgesetzt und sind sogenannte ERC20 Token. Jede Transaktion unserer Coins wird in der echten Ethereum Blockchain verarbeitet und für immer unveränderlich gespeichert. Die Zahl der Coins haben wir auf 21.000.000 Stk. begrenzt. Wir haben uns entschieden nur ganze Coins rauszugeben und daher gibt es keine Kommastellen, wie z.B. bei Bitcoin üblich. Die kleinste Einheit ist damit 1 BCO.

Zum aktuellen Zeitpunkt haben die Coins noch keinen Wert. Später arbeiten wir vielleicht noch daran die Coins an einer Exchange Börse zu listen und damit handelbar zu machen. Dann kann man die Coins auch offiziell an einer Börse kaufen und verkaufen.

Über den Button "senden" kann man BCO Token an unser Wallet senden (funktioniert aktuell nur vom PC in Verbindung mit Metamask)




Unsere Projekte auf Gitlab.

MetaMask Addon installieren und einrichten

Bevor man Token senden und empfangen kann, brauch man das Addon Metamask.

MetaMask ist ein Browser Plug-in das auf die Blockchain zugreift und wie ein Wallet funktioniert. Nach der Installation erscheint oben im Browser, neben der Adressleiste, ein neues Icon für MetaMask.

Nach dem Klick auf das Icon öffnet sich MetaMask und wir können ein neues "Konto" anlegen. Für den Zugang wird ein Code aus zwölf Wörtern generiert, über den jederzeit, von beliebigen Rechnern auf alle Konten zugegriffen werden kann. Diese zwölf Wörter sollten aufgeschrieben und sicher aufbewahrt werden.

Durch MetaMask haben wir nun Zugriff auf die Ethereum Blockchain. Wir können jetzt Ethereum und andere ERC20 Token versenden, empfangen und sogar selber erstellen.

Wichtig ! Man muss in MetaMask angemeldet sein. Sollte etwas nicht funktionieren könnte es daran liegen das man ausgeloggt ist und keine Verbindung zu MetaMask besteht.

MetaMask

Wir beginnen im Test-Netzwerk von Ethereum, dem Rinkeby Test Network, bevor wir später die richtige Blockchain nutzen (das Prinzip ist das Gleiche, nur das man die Schritte im richtigen Main Ethereum Netzwerk ausführt).

Jetzt stellen wir in MetaMask das Netzwerk entsprechend um, wie auf dem Bild zu sehen. Nun brauchen wir unsere ETH Adresse, die bekommen wir in MetaMask indem wir auf unseren Account klicken. Die Adresse wird in der Zwischanablage gespeichert und kann später eingefügt werden.

rinkeby test network

Test Ether anfordern

Als nächstes besorgen wir uns Ethereum da die Transaktionsgebühren für die Token immer in Ether bezahlt werden. Im Test Netzwerk hat man die Möglichkeit sich gratis Test Ether senden zu lassen.

Um die gratis Test-Ether zu bekommen muss man einen Post bei Twitter, Facebook oder Google+ absetzen, der die eigene Ethereum Adresse, die wir vorher bei MetaMask kopiert hatten, enthält. Den Link zu diesem Post müssen wir dann bei www.rinkeby.io/#faucet eingeben und auswählen wie viele Ether wir haben wollen. Ein paar Sekunden später sollten die Ether auf unserem MetaMask Wallet eingehen.

google plus
eth wallet

Code für Smart Contract einfügen

Nun müssen wir uns den Code für den Smart Contract besorgen auf dem unsere Token laufen sollen. Die Programmiersprache ist in unserem Fall Solidity. Dazu gibt es schon vorgefertigte Codes auf github.com/ConsenSys/Tokens.

Hier wählen wir erst contracts aus, dann eip20 und klicken dann auf die Datei EIP20.sol (die Datei EIP20Interface.sol werden wir später auch noch brauchen).

Jetzt sehen wir den Code der aus 72 Zeilen besteht. Diesen Code müssen wir nun kopieren damit wir ihn in den Remix Compiler einfügen können.

Auf unserem Gitlab Account findet ihr unseren Code zum BCO Token und andere Projekte.

Nachdem wir die Webseite remix.ethereum.org geöffnet haben sehen wir links den Reiter "browser". Hier löschen wir zuerst die beiden alten Einträge, mit Rechtsklick und entfernen, wie auf dem Bild zu sehen. Jetzt können wir einen eigenen Eintrag erstellen indem wir oben links auf das Plus Symbol klicken. Nun müssen wir noch einen Namen für die Datei vergeben und können dann den Code, den wir bei Github kopiert haben, in die Datei einfügen.

In unserer neuen Datei "unserTokenName.sol" müssen wir nun noch zwei Zeilen im Code anpassen. Wie auf dem Bild zu sehen müssen wir an diesen Stellen den Namen unseres Token einfügen.

Sollte nun rechts eine Fehlermeldung zu sehen sein, ignorieren wir diese erstmal.

Als nächstes müssen wir noch eine zweite Datei erstellen indem wir wieder im Remixer auf das Plus Symbol oben links klicken. Jetzt geben wir den Namen EIP20Interface.sol ein. Den Code für die neue Datei bekommen wir wieder auf github.com/ConsenSys/Tokens. Diesen kopieren wir nun und fügen ihn in die neue Datei EIP20Interface.sol ein. Hier müssen wir sonst nichts weiter anpassen.

Jetzt haben wir zwei Dateien : unserTokenName.sol und EIP20Interface.sol

 

EIP20 Interface

 

Code compilieren

Der nächste Schritt ist das "Compiling" des Codes. Dazu wählen wir am einfachsten "Auto compile". Als nächstes klicken wir oben auf "Run" um die restlichen Einstellungen zu machen.

Sollte rechts eine Fehlermeldung zu sehen sein, ignorieren wir diese erstmal.

Nachdem wir auf Run geklickt haben öffnet sich die Seite für die Einstellungen. Hier müssen wir rechts unseren Token "unserTokenName" auswählen.

Sollte das Feld leer sein müssen wir noch mal zurück und auf compilieren klicken. Manchmal dauert das Compilieren auch etwas länger und man muss nur kurz warten bis der Name im Menü auftaucht. Die Fenster einmal zu schliessen hilft im Zweifel auch weiter.

Token erstellen

Jetzt müssen wir noch festlegen wie viele Token wir erstellen wollen, welchen Namen und wieviel Kommastellen unsere Währung haben soll und wie das Kürzel aussehen soll. In diesem Beispiel haben wir 21.000.000 Token mit 18 Kommastellen, als Namen "unserTokenName" und als Kürzel "UTK" ausgewählt. Wie auf dem Bild zu sehen geben wir die Parameter neben dem "Deploy" Feld ein.

Beispiel : 210000000000000000,"unserTokenName",18,"UTK"

Um unsere Token nun zu erstellen klicken wir auf Deploy und MetaMask öffnet sich. Nachdem wir in MetaMask bestätigt haben werden unsere Token erstellt.

Über die Buttons Transfer und BalanceOf kann man Token versenden und den Kontostand eines Wallets einsehen. Die Wallet Adresse und die Menge der Token müssen wie auf dem Bild eingegeben werden.

Wichtig ! Man muss in MetaMask angemeldet sein. Sollte etwas nicht funktionieren könnte es daran liegen das man ausgeloggt ist und keine Verbindung zu MetaMask besteht.

Konten und Accounts auf Etherscan

Nachdem unsere Token fertig gestellt sind (dauert i.d.R. 10 bis 30 sek.) bekommen wir einen Link zur Transaktion. Mit einem Klick auf den Link kann man die Transaktion und die Contract Adresse in Etherscan sehen. Etherscan ist ein Explorer mit dem man sich Wallets und Transaktionen ansehen kann.

Will man nun seine Token in MetaMask empfangen und senden, muss man dort erst die Token hinzufügen.

Dazu klicken wir in MetaMask auf unseren Account, dann auf Token hinzufügen und Custom Token. Jetzt müssen die Contract Adresse eingeben, die restlichen Felder werden automatisch ausgefüllt.

token-hinzu
token-metamask

Nach einem Klick auf Weiter haben wir nun ein Wallet für unsere Token.

Über Remix, wie oben beschrieben, können wir nun Token aus dem Contract an verschiedene Wallets senden. Die empfangenen Token kann man dann in seinem MetaMask Wallet verwalten und z.B. weiter versenden, damit bezahlen etc...

Sollte Euch das Tutorial geholfen haben und ihr wollt euch bedanken dann könnt ihr gerne eine Spende da lassen 🙂

Bitte schreibt in den Kommentaren wenn ihr noch Fragen habt. Oft ändern sich Software Versionen und das was heute funktioniert, funktioniert in ein paar Monaten nicht mehr. Daher freue ich mich über jedes Feedback !!!

weitere Links

0 Comments

  1. Pingback: BCO im Interview - Bitcoin Club Oldenburg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.