Cover photo

Déployer votre premier contrat sur Shardeum

Comment déployer des contrats intelligents ERC-20 sur Shardeum à l'aide de Truffle

post image

Déployer des contrats intelligents ERC20 sur Shardeum avec Truffle

Truffle est un environnement de développement de classe mondiale, un cadre de test et un pipeline d'actifs pour les blockchains utilisant la machine virtuelle Ethereum (EVM). L'objectif de ces environnements de développement est de faciliter la vie des développeurs pendant qu'ils se concentrent sur la construction de leurs projets sur les blockchains.

Shardeum est une plateforme de contrats intelligents basée sur l'EVM, de sorte que tous les contrats intelligents que vous écrivez sur/pour Ethereum peuvent être déployés ou migrés vers Shardeum de manière transparente. L'avantage d'utiliser Shardeum est qu'il peut traiter à une vitesse supérieure à 100k TPS avec une véritable décentralisation et un coût de transaction estimé à 0,01 $. Avec des transactions bon marché et très rapides, vous et vos utilisateurs serez comblés lorsque le réseau sera lancé à la fin de l'année 2023.

Il existe plusieurs façons de déployer vos contrats intelligents et DApps sur Shardeum Sphinx (betanet). Truffle, Remix, Hardhat sont quelques-uns des environnements de développement bien connus que vous pouvez utiliser pour développer vos applications Web 3. Nous avons parlé du déploiement d'applications en utilisant Remix et Hardhat dans nos blogs précédents, mais nous aimerions vous montrer comment tirer parti de Truffle pour créer des contrats intelligents et construire vos DApps.

Sommaire

  • Qu'est-ce qu'un token ERC-20?

  • Configuration de l'environnement Truffle

  • Installation de Truffle

  • Création d'un projet

  • Créer un contrat

  • Compiler le contrat

  • Codage des migrations

  • Configuration de Truffle pour Shardeum Sphinx Dapp (Testnet)

  • Déploiement sur Shardeum Sphinx Dapp

  • Conclusion :

  • Recherches populaires

Qu'est-ce qu'un token ERC-20?

Avant d'apprendre à déployer des jetons ERC-20 et des contrats intelligents sur Shardeum à l'aide de Truffle, découvrons ce qu'est un jeton ERC-20. Les jetons ERC-20 sont des jetons fongibles créés sur le réseau Ethereum, sur la base du standard de jeton ERC-20 mis en avant par la plateforme. Cette norme établit des règles concernant la manière dont les jetons ERC-20 peuvent être transférés, la manière dont les transactions les utilisant sont approuvées et l'ensemble de l'offre d'un jeton ERC-20, entre autres choses.

Chaque ensemble de jetons ERC-20 est différencié par des symboles comme ABC ou XYZ, et comme ils sont fongibles, cela signifie que chaque jeton d'un certain ensemble est interchangeable avec un autre jeton du même ensemble.

Configuration de l'environnement Truffle

Quelques conditions techniques sont requises pour que les développeurs puissent commencer à utiliser Truffle. Installez les dépendances suivantes :

  • NodeJS v12 ou plus récent (disponible ici)

  • Npm/Yarn Package

  • Installer (inclus avec Node) Windows, Linux ou Mac OS X

Installation de Truffle

Une fois les dépendances ci-dessus installées avec succès, vous pouvez maintenant installer Truffle.

npm install -g truffle

Pour vérifier que Truffle est correctement installé, tapez truffle version dans le terminal (cmd).


Création d'un projet

Après avoir vérifié que Truffle est installé avec succès, créez votre propre projet et nommez-le quelque chose comme "testToken".

Créez un nouveau répertoire pour votre projet Truffle

mkdir testToken

cd testToken

Initialisez votre projet

truffle init

Une fois cette opération terminée, vous devriez avoir une structure de projet avec les éléments suivants:

  • contracts/ : Répertoire pour les contrats Solidity

  • migrations/ : Répertoire pour les fichiers de déploiement scriptables

  • test/ : Répertoire pour les fichiers de test pour tester votre application et contrats

  • truffle-config.js : Fichier de configuration de Truffle

  • build (visible après compilation) : Contrats Solidity compilés avec bytecode et ABI


Créer un contrat

Vous pouvez écrire votre propre contrat intelligent, ou utiliser les contrats standard open-source 'openzeppelin' et les construire dessus. Comme nous utilisons 'openzeppelin' pour notre testToken, il nécessite la dépendance suivante.

npm install @openzeppelin/contracts

Après l'installation de la dépendance, créez un fichier nommé "testToken.sol" dans le répertoire du contrat.

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract testToken is ERC20 { constructor(uint256 initialSupply) ERC20("testTkn", "TST") { _mint(msg.sender, initialSupply); } }


Compiler le contrat

Pour compiler un projet Truffle, changez pour le répertoire racine (dans notre cas le répertoire testToken) et exécutez la commande dans le terminal.

truffle compile


Codage des migrations

Pour déployer notre contrat testToken sur Shardeum Sphinx Dapp, nous devons créer une migration pour mettre le contrat sur le réseau. Créez un fichier dans le dossier migrations nommé "2_deploy.js".

var test = artifacts.require("testToken");

module.exports = function(deployer) { // déploiement deployer.deploy(test, '10000000000000000000000'); };


Configuration de Truffle pour Shardeum Sphinx Dapp (Testnet)

  1. Allez à truffle-config.js (situé dans le répertoire racine)

  2. Mettez à jour avec les détails de Shardeum Sphinx Dapp (disponibles ici)

const HDWalletProvider = require('@truffle/hdwallet-provider'); const fs = require('fs'); const mnemonic = fs.readFileSync(".secret").toString().trim();

module.exports = { networks: { development: { host: "127.0.0.1", // Localhost (default: none) port: 8545, // Standard port (default: none) network_id: "*", // Any network (default: none) }, sphinx: { provider: () => new HDWalletProvider(mnemonic, https://dapps.shardeum.org/), network_id: 8080, confirmations: 2, timeoutBlocks: 200, skipDryRun: true } },

// Set default mocha options here, use special reporters etc. mocha: { // timeout: 100000 },

// Configure your compilers compilers: { solc: { version: "^0.8.0", // A version or constraint - Ex. "^0.5.0" } } }

Note : Assurez-vous d'ajouter votre mnémonique ou votre clé privée dans un fichier séparé ".secret" (assurez-vous de ne jamais télécharger ce fichier sur GitHub ou GitLab).

Assurez-vous également que la dépendance @truffle/hdwallet-provider est installée. Si ce n'est pas le cas, veuillez l'installer en utilisant la commande ci-dessous.

npm i @truffle/hdwallet-provider


Déploiement sur Shardeum Sphinx Dapp

Pour déployer votre contrat sur Shardeum Sphinx Dapp, exécutez la commande suivante :

truffle migrate --network sphinx


Le contrat sera déployé sur Shardeum Sphinx Dapp et devrait ressembler à ceci :

post image

Nous vous félicitons ! Vous avez déployé avec succès le contrat intelligent ERC20 en utilisant Truffle. Vous pouvez maintenant interagir avec le contrat intelligent en construisant une DApp et créer votre propre projet de blockchain fournissant divers services et produits 🙂 .

Conclusion :

Nous espérons que cet article vous a donné un aperçu de ce que sont les jetons ERC-20, et comment Truffle déploie des contrats intelligents et des jetons ERC-20 sur Shardeum !

Chez Shardeum, nous visons à résoudre le trilemme de la scalabilité qui affecte la plupart des blockchains aujourd'hui, et qui bloque la route des projets et des applications web3 vers le grand public. Nos solutions d'extensibilité permettraient aux blockchains de devenir plus flexibles sans compromettre la sécurité ou la décentralisation. Nous espérons que vous collaborerez avec nous pour faire du projet web3 de vos rêves une réalité, et que vous rejoindrez la communauté Shardeum qui ne cesse de s'agrandir pendant que vous y êtes !

Recherches Populaires

List of Layer 1 Crypto Projects  |  Types of DDoS Attack  |  Advantages and Disadvantages of Blockchain Technology  |  What is Blockchain Technology  |  What are the Features of Blockchain  |  What is a Blockchain Node  | How to Buy Land in Metaverse  |  What is Crypto Metaverse  |  Can the Blockchain be Hacked  |  Benefits of Blockchain  |  What is Proof of Stake Blockchain  |  What is Cloud Mining  |  How to Mint Crypto Coins  |  SB Token  |  NFT Smart Contract  |  Enterprise Blockchain  |  Types of Cryptocurrency Scams  |  How to Make and Sell NFT  |  What is Gas in Cryptocurrency  |  Stack Mobile

@shardeum - #ShardeumIsBorderless - Shardeum is Borderless