Logo ESILV

ICOs et tokens ERC#20

Quête

Créer son token, le transmettre, le suivre et le mettre en vente

-> Deployer des smart-contracts(ICO notamment) .
-> Effectuer des transactions sur des reseaux publics ou privés.

Parcours

Après avoir installé, chargé et testé MetaMask (Niveau 1), vous générerez votre token ERC#20 et l'ajouterez sur plusieurs wallets.
Vous testerez le transfert de ces tokens auprès d'autres collègues et l'audit des transactions.

Livrable et notation

Envoyer l'adresse de votre SC et lui transmettre à son adresse ethereum Ropsten

Metamask

Metamask est un wallet ethereum directement sous la forme d'une extension Google Chrome/Firefox (LightNode). Elle vous permet de stocker vos clés Ethereum, recevoir des transactions, signer et émettre des transactions sans avoir besoin d'un client lourd.
MetaMask vous indique également les tokens ERC#20 liés à vos adresses.

  • Installer Metamask
  • Lancer l'application et valider les CGV si vous le souhaitez
  • Créer votre HD Wallet et sauvegarder votre clé mnemonic dans un fichier de back-up
  • Donner un nom à votre wallet (fonction "edit")

Parity

Parity est une implémentation permettant de déployer des noeuds pour effecter des transations et créer/intéragir avec des smart-contract.
Parity vous permet également de stocker vos clés et réaliser des transactions, que ce soit en Ethers ou pour des tokens ERC#20

  • Installer Parity
  • Lancer l'application et valider les CGV si vous le souhaitez
  • Créer votre HD Wallet et sauvegarder votre clé mnemonic dans un fichier de back-up (potentiellement le même que MetaMask, en séparant les listes de mots).
20% Ropsten
  • Récupération de votre adresse Ethereum

    Dans un nouvel onglet :
    Se connecter sur Metamask
    Sélectionner le réseau Ropsten
    Copier l'adresse ethereum dans le clipboard
  • Chargement à l'aide d'un faucet

    Dans un nouvel onglet :
    Aller sur le faucet Ropsten ou son remplaçant par MetaMask
    Remarque : Un faucet est un service web permettant de recevoir quelques cryptomonnaies de tests
    Copier son adresse Ethereum et à l'endroit indiqué de la page
    Quand le message de confirmation indique que vous avez reçu une transaction, retourner dans l'onglet spécifique à MetaMask et checker votre solde.
  • Utilisation de MetaMask

    Si vous avez bien reçu quelques ethers pour Ropsten, faire une transaction vers l'adresse d'un collègue ET/OU indiquer l'adresse à laquelle il peut vous transmettre des ethers de tests.
    Vérifier sur https://ropsten.etherscan.io que vous voyez bien votre adresse et vos transactions.
20% Ropsten
20% Ropsten
  • Recevoir une transaction

    Récupération de votre adresse publique

    Dans MetaMask, utilisez le menu déroulant à droite pour copier dans votre clipboard votre adresse publique Ethereum.


    Transmission de votre adresse publique

    Transmettre cette adresse à un collègue par le canal de votre choix (e-mail, fb, twitter, whatsapp, ...).
    Attendre que l'émetteur de la transaction fasse le nécessaire.


    Confirmer réception et vérifier dans la blockchain via un exploreur

    Lorsque le solde se met à jour, confirmer la réception des ethers Ropsten à l'émetteur.
    Lui indiquer également l'URL dans un navigateur afin que vous ayez tout deux l'enregistrement public.

  • Envoyer des ethers Ropsten depuis MetaMask

    Lorsque vous recevez l'adresse ethers Ropsten du destinataire, déclencher la transaction depuis MetaMask, en vérifiant que vous êtes bien sur le réseau Ropsten !
    Récupérer l'ID de la transaction et/ou votre adresse et/ou l'adresse du destinataire pour obtenir les informations de confirmation dans l'exploreur Ropsten Etherscan.

40% Ropsten
20% Token

MyToken est un fork et évolution par une start-up française, Czam.me, du service TokenFactory (http://tokenfactory.surge.sh/#/factory)
Il permet la génération de tokens sur plusieurs réseaux, dont bitcoin et ethereum (mainnet et Ropsten), via l'extension MetaMask.

  • Création de votre token

    Aller sur MyToken by CZAM
    Créer un token Ethereum en indiquant :
    Name : Mettre PrenomNomCoin (Ex : AlbinCauderlierCoin)
    Symbol : Utiliser vos initiales ACCN (Utiliser 4 ou 5 caractères)
    Number : 100 millions ( 100000000 )
    Decimal : 0

    Create !
    Confirmer la transaction dans MetaMask avec "Submit"
    Le site vous indique l'adresse Ethereum créée pour votre smart-contract de token. La sauvegarder !
    Aller sur Etherscan pour vérifier votre transaction de création.
    Aller dans la page du contract créé.
    Remplacer "contract" ou "address" dans l'URL par "token" pour qu'Etherscan détecte votre compatibilité ERC#20 et affiche les donnéees complémentaires (nom, acronyme, ...).
    = Dans l'URL d'EtherScan, remplasser "contract" par "token" pour obtenir l'audit de votre token. Merci l'interopérabilité ERC#20 ;-)
  • Ajout dans MetaMask

    Dans un nouvel onglet de votre navigateur, ouvrir MetaMask.
    Se connecter et aller dans l'onglet "Token"
    CLiquer sur "Add token"
    Indiquer dans le formulaire l'adresse de votre Smart-contract
    Les autres champs se remplissent automatiquement
    Cliquer sur "Add"

40% Ropsten
20% Token
20% Token

Cette partie a pour objectif de vous familiariser avec le stockage de clés, l'envoie et la réception de transaction, et la gestion de tokens ERC#20.

  • Aller sur le Web Wallet Ethereum
    Vous connecter à MetaMask si ce n'est pas déjà le cas.
    Vérifier que le site vous montre bien les tokens que vous avez. A défaut, pour les ajouter, aller dans la partie "Contracts", puis "Ajouter un jeton", puis copier l'adresse de votre smart-contract.
    Déclencher une transaction vers votre binôme et inversement.
    A défaut de Remix, vous pouvez utiliser ce site et MetaMask pour la rédaction et le déploiement de smart-contract sur la blockchain de test d'Ethereum Ropsten.
  • Parity
  • MyEtherWallet
    MyEtherWallet permet également la gestion de votre token, sans que vous soyez inscrit ou connecté.
    Dans le cadre du TP, nous ne l'utiliserons pas, mais vous pouvez le faire pour votre propre connaissance.
  • Cipher (application mobile)
    Cipher permet de recevoir, stocker et envoyer des tokens ERC#20 depuis une application mobile. Cipher fonctionne sur différents réseaux ethereum, dont ropsten.
    Après avoir créé votre wallet et indiqué l'adresse ethereum du smart-contract, chargé votre wallet Cipher de quelques tokens et tester un transfert avec votre binôme. Warning : Passez bien sur le réseau de test Ropsten !!! L'application est prévue, par défaut, pour le mainnet.
40% Ropsten
40% Token
20% Vente

  • Préparation de la page Github avec les premiers éléments

    Création d'une page sur votre site github
    Indiquer les liens vers ropsten.etherscan.io permettant d'auditer : - la transaction de création
    - la répartition actuelle des tokens
    - votre adresse actuelle de stockage
  • Rédaction du Smart-contract de vente

    Rédaction d'un Smart-contract Solidity avec une seule fonction : S'il reçoit des ethers, les garde et transmets à l'émetteur des tokens (1 ether => 1000 tokens).
    Vous pouvez reprendre vos codes rédigés l'année dernière + les outils dont l'ethereum browser solidity
    Conseil : Vous êtes invités à vous faire un sous-dossier de votre repository pour ce SC et à suivre la méthode utilisées l'année dernière.
  • Lancement du smart-contract

    Allez sur Parity
    Copier votre contract
    Lancer le SC sur Ropsten
    Suivre la transaction dans Etherscan
  • Test avec Parity
    Acheter vos premiers tokens

  • Ouverture à la vente sur votre page Github

    Publication de l'adresse du smart-contract sur votre page /ico/
  • Tests des ICOs des collègues et livrables pour notation

    Les autres participants peuvent vous acheter des tokens à l'aide de leurs ethers Ropsten sur MetaMask.
    Envoyer un e-mail à votre encadrant afin qu'il vérifie qu'il peut acheter vos tokens et auditer votre ICOs.