Déployer un ERC-20 sur Ethereum

Plus de 350 000 tokens circulent aujourd’hui sur Ethereum. Le standard ERC-20 proposé par Fabian Vogelsteller et Vitalik Buterin en 2015 est une des grandes promesses d’Ethereum : chacun peut frapper sa propre monnaie en quelques lignes de code.

Julien Béranger
3 min readJan 21, 2021

My Stupid Token (MyStupidToken.sol) est un template d’ERC-20 très basique qui utilise un set de smart contracts proposé par OpenZeppelin (le contrat est disponible ici)

C’est une des façons les plus sécurisées qui existent pour créer un actif numérique. Ces unités ne peuvent pas être copiées. Une fois que le contrat est déployé, toutes les unités sont transférées vers votre wallet. Dans ce tuto, nous allons utiliser le réseau de test Goerli, c’est un des réseaux de test qui réplique le comportement d’Ethereum.

Pour commencer :

Vous pouvez suivre le tutoriel “Se créer une adresse Ethereum avec Metamask” :

Voici le code Solidity du contrat MyStupidToken.sol:

// SPDX-License-Identifier: GPL-3.0pragma solidity >=0.6.0 <0.8.0;import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol";contract MyStupidToken is ERC20
{
constructor() ERC20("My Stupid Token", "MST")
{
_mint(msg.sender, 10000*10**18);
}
}

Voici comment le déployer en utilisant Remix, c’est un IDE qu’on peut utiliser depuis un navigateur standard.

  • Copiez le code Solidity et rendez-vous sur Remix. Cliquez sur ‘New File’ (vous pourrez renomer ce fichier plus tard), coller le code du contrat.
  • Dans le code, modifiez le nom de votre token (à la place de “My Stupid Token”) et aussi le nom du contrat (“MyStupidToken”). Changez le symbol de ce token (“MST”) ainsi que le supply (“10000”).
  • Dans le menu de gauche, faites un clic droit sur le fichier et renommez-le (“rename”). Ce fichier en “.sol” doit commencer par une majuscule.
  • Dans le menu de gauche, cliquez sur “Solidity Compiler”. Choisissez la version 0.7.4 du compilateur Solidity, puis cliquez sur le gros bouton “Compile”.
  • Puis dans le menu de gauche encore, cliquez sur “Deploy & run transactions” et sélectionnez “Injected Web3” comme environnement.
  • Dans Metamask (extension Chrome), vérifiez que vous avez bien sélectionné le réseau de test Goerli.
  • Cliquez sur “Deploy”, vous êtes invité à signer cette transaction. Après quelques secondes, le contrat apparaît : copiez-collez son adresse dont vous allez avoir besoin.

Le contrat de token est maintenant déployé sur Goerli, donc vous avez reçu la totalité du supply (10 000 unités). On peut vérifier tout ça sur Etherscan :

https://goerli.etherscan.io/

Collez simplement l’adresse du contrat : on peut voir que le contrat a bien été déployé sur la blockchain. 🎉

Ajouer un token dans Metamask

Pour ajouter un token dans Metamask :

  • Dans Metamask, cliquez sur “Assets”
  • Cliquez sur “Add a token”
  • Choisissez “Custom token”, dans “Token contract address”, collez l’adresse du contrat, le reste devrait se compléter automatiquement (sinon ajoutez vous-même le nom, le symbol et le nombre de décimales (18).
  • Cliquez sur “Next”

Vous pouvez maintenant envoyer quelques unités à cette adresse (la mienne !) :

0x101ce430bF1D7bceA09d49408C565778f8684Be9

Notez que :

  • Il faut toujours avoir un peu d’ETH pour pouvoir envoyer des tokens. Chaque transaction est payante.
  • Si vous déployez sur Ethereum mainnet (réseau principal) au lieu de Goerli, ces unités monétaires sont tout aussi sécurisées et infalsifiables que des euros.
  • Sans logique de fonctionnement ces tokens ne valent rien. Il est possible d’utiliser les smart contracts pour donner, gagner, vendre ou acheter ce type d’actifs, c’est ce qu’on appelle la “token economy”.

--

--

Julien Béranger

DevRel at Arthera | Member of the W3HC | Co-founder of Āto | Founder of Strat | Volunteer at Emmaüs Connect