Table des matières
ToggleSi vous êtes passionné par les crypto-monnaies et la technologie blockchain, vous êtes déjà au courant de tous les tokens qui sont arrivés sur le marché depuis le début du bitcoin jusqu’à aujourd’hui.
À tel point que nous pouvons affirmer avec une grande satisfaction qu’il existe, à ce jour, près de 5 000 jetons différents sur le marché.
Si vous ne le saviez pas, maintenant vous l’avez découvert. Et il serait également bon que vous sachiez qu’il existe plusieurs types de jetons. Les principales sont :
Si comme moi, vous vous êtes demandé mille fois comment créer un jeton et s’il est très difficile de lancer sa propre monnaie numérique sur le marché cryptographique, aujourd’hui j’aurai le plaisir de creuser le sujet et peut-être de vous aider à lancer ce qui sera le jeton le plus populaire de l’histoire moderne… Êtes-vous prêt ?
Avant d’entrer dans le vif du sujet, il est important que vous sachiez que dans le monde des crypto-monnaies, il existe plusieurs types de crypto-actifs et qu’il y a plus d’une différence entre les crypto-monnaies et les crypto-jetons. Voyons ce que c’est.
CRYPTO-MONNAIE : Tout d’abord, les crypto-monnaies sont des actifs qui possèdent leur propre blockchain ou journal des transactions. Le bitcoin, qui possède sa propre blockchain, son propre protocole et son propre jeton (BTC), en est un bon exemple.
TOKEN : Les tokens, quant à eux, utilisent une autre blockchain au lieu de la leur. Un exemple populaire est celui des jetons ERC20 qui utilisent la blockchain Ethereum (ETH).
Alors pourquoi certains actifs sont-ils des jetons et non des crypto-monnaies ? La réponse est presque évidente… il est sûrement plus facile de construire sur une plateforme existante que de partir de zéro.
En d’autres termes, si vous décidez de créer une crypto-monnaie, vous devrez le faire en créant votre propre blockchain, ce qui demandera beaucoup de travail, de temps et de frais. En revanche, la création d’un jeton à partir de zéro est beaucoup plus rapide et plus facile, car il est créé sur une plateforme existante.
Donc, si vous ne voulez pas créer votre propre blockchain, la solution la plus pratique est de développer un jeton en utilisant une blockchain existante, comme Ethereum ou Bitcoin.
Avant de vous lancer dans le développement de votre jeton, vous devrez avoir un objectif, c’est-à-dire que votre jeton devra apporter de la valeur à l’écosystème cryptographique ou il sera voué à l’échec. En plus de cela, vous devrez construire une communauté qui vous suit et croit en votre projet/objectif et, enfin, vous devrez avoir quelques connaissances techniques pour savoir et comprendre comment votre jeton doit fonctionner.
Une fois que vous aurez éclairci ces points, vous devrez décider sur quelle plateforme lancer votre jeton. La plupart des jetons sont créés sur la blockchain Ethereum en tant que jetons ERC20, car Ethereum a été le premier à offrir ce service.
Une autre plateforme populaire qui vous permet d’utiliser sa blockchain pour créer des applications et des jetons est NEO, qui utilise le jeton standard NEP-5.
L’avantage d’Ethereum est qu’il s’agit de la plateforme la plus populaire pour la création de jetons et qu’elle est fiable. Avec NEO, vous pouvez utiliser une grande variété de langages de programmation, notamment C++ et Java, alors qu’Ethereum ne vous permet de créer des jetons qu’en utilisant son propre langage de programmation : Solidity.
Dans les prochains paragraphes, nous allons vous montrer comment créer un jeton sur la plateforme la plus populaire pour la création de jetons : Ethereum.
Pour créer votre jeton sur Ethereum, vous devrez :
Téléchargez le wallet de Ethereum, Mist, qui vous permet également de miner ou de développer des jetons ERC20.
Une fois que vous avez téléchargé et ouvert Mist, remplissez-le avec des fonds ETH.
Allez dans l’onglet PORTEFEUILLE, cliquez sur l’onglet « CONTRATS », puis cliquez sur « Déployer un nouveau contrat ». Là où il est indiqué « Select Contract to Deploy », cliquez sur le menu déroulant et sélectionnez « MyToken ».
Saisissez ce code dans le champ du code source du contrat Solidity qui apparaît :
contract MyToken {
/* Cela crée un tableau avec toutes les balances. */
mapping (address => uint256) public balanceOf;
}
Où « Mapping » lie les soldes aux adresses, qui sont au format hexadécimal (par exemple 0xab7c74abC0C4d48d1bdad5DCB26153FC8780f83E) et « Public » signifie que n’importe qui pourra voir les soldes des jetons des autres adresses.
Après le code ajouté ci-dessus, vous devrez ajouter une autre ligne de code qui indique l’offre ou la limite de jetons que vous voulez créer :
function MyToken() {
balanceOf[msg.sender] = 2100000;
}
Le chiffre souligné indique que vous voulez une réserve de jetons de 21 millions, mais vous pouvez le modifier et le configurer comme vous le souhaitez.
Vous avez maintenant un contrat intelligent lié à votre jeton.
Maintenant, vous devez configurer le jeton pour qu’il puisse être envoyé. Ajoutez donc ce code à la fin du champ Code source du contrat Solidity :
/* Envoyer des pièces */
function transfer(address _to, uint256 _value) {
/* Vérifier si l’expéditeur a un solde et s’il y a des débordements */
require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >=
balanceOf[_to]);
/* Ajouter et soustraire les nouveaux soldes */
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
}
Ce code vous permet d’envoyer, d’ajouter (aux adresses de réception) et de soustraire vos jetons (aux adresses d’envoi). De plus, pour empêcher les utilisateurs d’envoyer plus de jetons qu’ils n’en ont, une ligne de code est ajoutée pour vérifier si l’expéditeur a un solde et s’il y a des débordements.
Pour changer le nom, le symbole et les unités décimales de votre jeton, ajoutez ce code :
/* Initialiser le contrat avec des jetons de fourniture initiale pour le créateur du contrat. */
function MyToken(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) {
balanceOf[msg.sender] = initialSupply; // Donne au créateur tous les jetons initiaux
name = tokenName; // Définir le nom à des fins d’affichage
symbol = tokenSymbol; // Définir le symbol à des fins d’affichage
decimals = decimalUnits; // Nombre de décimales à des fins d’affichage
}
Pour informer les portefeuilles ETH du transfert d’un jeton, ajoutez un événement via le code suivant :
event Transfer(address indexed from, address indexed to, uint256 value);
De plus, ajoutez le code suivant (le texte en rouge) à la fonction de transfert de l’étape 3 pour donner une notification que le transfert a eu lieu :
/* Envoyer des pièces */
function transfer(address _to, uint256 _value) {
/* Vérifier l’équilibre et les débordements de l’expéditeur */
require(balanceOf[msg.sender] >= _value && balanceOf[_to] + _value >=
balanceOf[_to]);
/* Ajouter et soustraire les nouveaux soldes */
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
/* Notifie à tous les auditeurs que ce transfert a été effectué */
Transfer(msg.sender, _to, _value);
}
Si vous souhaitez copier le code complet pour créer un jeton ERC20 sur la plateforme Ethereum, vous pouvez le copier depuis la page Github et l’enregistrer dans un éditeur de texte.
6. Lancez votre jeton !
Si vous êtes arrivé jusqu’ici, vous avez de la chance, vous pouvez maintenant lancer votre jeton ERC20 !
Tout ce que vous avez à faire est de définir un taux pour envoyer votre transaction de contrat de jeton, et une fois que votre jeton est actif, cliquez sur l’onglet Envoyer dans Mist pour envoyer votre jeton à qui vous voulez.
Il existe une autre option pour mettre en œuvre et lancer votre nouveau jeton, à savoir utiliser le wallet de MetaMask au lieu du portefeuille Mist.
Une fois que vous aurez téléchargé l’extension MetaMask dans votre navigateur, vous devrez mettre un montant d’ETH, comme nous l’avons fait avec Mist, pour payer le déploiement du contrat.
Dans ce cas, vous devrez copier le code du contrat intelligent que nous avons placé plus tôt dans la fenêtre principale de Remix.
Cliquez sur l’onglet « Exécuter », afin que le contrat intelligent puisse être déployé sur la blockchain Ethereum. Le nombre total de jetons définis dans le code du Smart Contract doit être associé et détenu dans le MetaMask Wallet.
En cliquant sur « Déployer », le Smart-Contract peut être déployé. Une fois la transaction confirmée par la blockchain Ethereum, le nombre de jetons émis devrait apparaître dans MetaMask Wallet, prêt à être envoyé vers n’importe quel portefeuille ETH.