hé hé hé !
Bonjour à tous 0Xlive est là 😃
dans ce tutoriel, nous parlerons de CRC721, NFT et comment déployer notre NFT sur CSC en utilisant un casque
NFT

NFT signifie jeton non fongible, qui est une ressource numérique unique en son genre qui utilise la technologie blockchain. Les premiers NFT ont été créés en 2017 avant même que le terme n’existe. Peu de temps après, les crypto-minous et les crypto-requins ont institué le terme sur le marché et ont même normalisé les Smart Contracts.
non fongible signifie unique et non échangeable. Les NFT sont uniques ; chacun est différent. Chaque jeton a des caractéristiques et des valeurs uniques.
CRC721
CRC-721 est une norme non fongible sur le réseau CSC. il est identique à ERC-721.
« ERC-721 est une norme ouverte et gratuite qui décrit comment créer des jetons non fongibles ou uniques sur la blockchain Ethereum. Alors que la plupart des jetons sont fongibles (chaque jeton est identique à tous les autres jetons), les jetons ERC-721 sont tous uniques. » https://erc721.org
ERC-721 est une norme ouverte qui décrit comment créer des jetons non fongibles sur des blockchains compatibles EVM (Ethereum Virtual Machine) ; c’est une interface standard pour les jetons non fongibles
Commençons 😃
tout d’abord, nous devons créer un répertoire pour notre projet
mkdir crc721
puis changez de répertoire en crc721 et initialisez un projet avec npm
cd hardhat-tutorial
npm init --yes
et maintenant nous allons installer un casque
npm install --save-dev hardhat
une fois l’installation terminée, exécutez le casque en utilisant npx
npx hardhat
choisir"Create a basic sample project”
et entrez oui pour tous 😃
note : il vous posera des questions sur hardhat-waffle , ethereum-waffle and hardhat-ethers
vous pouvez d’ailleurs les installer manuellement en suivant les instructions suivantes :
npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
et appuyez sur Entrée pour tous
nous utiliserions la bibliothèque openzeppelin pour le rendre facile
npm install @openzeppelin/contracts
nous écrirons du code dans le NFT.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;// Import the openzepplin contracts
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
// GameItem is ERC721 signifies that the contract we are creating imports ERC721 and follows ERC721 contract from openzeppelin
contract nft is ERC721 {
constructor() ERC721("simple nft", "NFT") {
// mint an NFT to yourself
_mint(msg.sender, 1);
}
}
cassons le code ci-dessus
// SPDX-License-Identifier: MIT
dans la première ligne de code, nous définissons MIT comme licence dans un format lisible par machine
pragma solidity ^0.8.10;
il dit au compilateur de compiler avec la version 0.8.10
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
nous avons importé ERC721.sol de la bibliothèque openzeppelin
contract nft is ERC721 {constructor() ERC721("simple nft", "NFT") {
// mint an NFT to yourself
_mint(msg.sender, 1);
}
}
la partie principale est here.in solidity , notre code doit être sous contrat
nous définissons simple nft comme nom et NFT comme symbole pour notre contrat
maintenant il est temps de compiler !
npx hardhat compile
S’il n’y a pas d’erreur, nous procéderons au déploiement 🙂
Tout d’abord, créez un nouveau fichier nommé run.js
en dessous de scripts
dossier
mettez ce code dans run.js :
const { ethers } = require("hardhat");async function main() {
/*
A ContractFactory in ethers.js is an abstraction used to deploy new smart contracts,
so nftContract here is a factory for instances of our GameItem contract.
*/
const nftContract = await ethers.getContractFactory("NFT");
// here we deploy the contract
const deployedNFTContract = await nftContract.deploy();
// print the address of the deployed contract
console.log("NFT Contract Address:", deployedNFTContract.address);
}
// Call the main function and catch if there is any error
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
maintenant, hardhat.config.json devrait ressembler à ceci :
require("@nomiclabs/hardhat-waffle");// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
const accounts = await hre.ethers.getSigners();for (const account of accounts) {
console.log(account.address);
}
});module.exports = {
solidity: "0.8.10",
networks: {
csc: {
url: "https://testnet-rpc.coinex.net",
accounts: ["YOUR-PRIVATE_KEY"],
}
}
};
pour déployer le contrat , dans votre terminal tapez :
npx hardhat run scripts/run.js --network csc
Félicitation 🥳
vous avez déployé votre premier NFT sur le réseau CSC
nous irons plus loin et ferons des trucs sympas
Rejoignez Coinmonks Telegram Channel et Youtube Channel pour en savoir plus sur le trading et l’investissement cryptographiques