Déployer un ERC-20 sur Ethereum

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”.

--

--

CEO and co-founder of Āto | Founder of Strat | Volonteer at Emmaüs Connect | Contrib at Concord

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Julien Béranger

Julien Béranger

CEO and co-founder of Āto | Founder of Strat | Volonteer at Emmaüs Connect | Contrib at Concord