Ce projet est un contrat intelligent pour la blockchain MultiversX qui permet de créer et de vendre des NFTs (Non-Fungible Tokens). Il est basé sur le framework MultiversX SC et implémente les fonctionnalités essentielles d'un NFT minter.
- Création d'une collection NFT
- Attribution des rôles nécessaires pour la création de NFTs
- Création de NFTs avec des royalties personnalisables
- Mise en vente des NFTs créés
- Achat de NFTs par les utilisateurs
- Réclamation des royalties des marketplaces
- mxpy - L'outil en ligne de commande MultiversX
- Rust - Le langage de programmation utilisé pour développer le contrat
- wasm-opt - Pour optimiser le bytecode WebAssembly
- Clonez ce dépôt :
git clone https://github.com/votre-utilisateur/world-forge.git
cd world-forge- Compilez le contrat :
mxpy contract buildPour déployer le contrat sur le devnet de MultiversX :
mxpy contract deploy --bytecode=output/world-forge.wasm --pem=wallet.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --recall-nonce --sendPour créer une collection NFT, vous devez appeler la fonction issueToken avec un paiement de 0.05 EGLD :
mxpy contract call <adresse-du-contrat> --function=issueToken --value=50000000000000000 --pem=wallet.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --arguments str:NomCollection str:TICKER --recall-nonce --sendAprès avoir créé la collection, vous devez attribuer les rôles nécessaires pour la création de NFTs :
mxpy contract call <adresse-du-contrat> --function=setLocalRoles --pem=wallet.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --recall-nonce --sendPour créer un NFT et le mettre en vente :
mxpy contract call <adresse-du-contrat> --function=createNft --pem=wallet.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --arguments str:NomNFT 500 str:https://ipfs.io/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG 1000000000000000000 --recall-nonce --sendLes arguments sont :
NomNFT: Le nom du NFT500: Les royalties (5.00%)https://ipfs.io/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG: L'URI du NFT (image, vidéo, etc.)1000000000000000000: Le prix de vente (1 EGLD)
Pour acheter un NFT, l'utilisateur doit appeler la fonction buyNft avec le paiement correspondant :
mxpy contract call <adresse-du-contrat> --function=buyNft --value=1000000000000000000 --pem=wallet-acheteur.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --arguments 1 --recall-nonce --sendL'argument 1 correspond au nonce du NFT à acheter.
Pour réclamer les royalties d'un marketplace :
mxpy contract call <adresse-du-contrat> --function=claimRoyaltiesFromMarketplace --pem=wallet.pem --gas-limit=60000000 --proxy=https://devnet-gateway.multiversx.com --chain=D --arguments erd1qqqqqqqqqqqqqpgqd77fnev2sthnczp2lnfx0y58ar3ywcyj0n4s2gctac EGLD-abcdef 0 --recall-nonce --sendLes arguments sont :
erd1qqqqqqqqqqqqqpgqd77fnev2sthnczp2lnfx0y58ar3ywcyj0n4s2gctac: L'adresse du marketplaceEGLD-abcdef: L'identifiant du token utilisé pour le paiement0: Le nonce du token utilisé pour le paiement
Ce projet est sous licence MIT.
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou à soumettre une pull request.