-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Comment créer un contrat intelligent standard multi-token ERC-1155 ?
ERC-1155 is an Ethereum token standard enabling efficient, batched management of both fungible and non-fungible tokens in a single smart contract.
Jan 11, 2026 at 12:39 pm
Comprendre les principes fondamentaux de l'ERC-1155
1. ERC-1155 est une norme de jeton sur la blockchain Ethereum qui permet la création de plusieurs types de jetons, à la fois fongibles et non fongibles, au sein d'un seul contrat intelligent.
2. Contrairement à ERC-20 ou ERC-721, qui nécessitent des contrats distincts pour chaque type de jeton, ERC-1155 réduit les coûts de déploiement et simplifie la gestion grâce à des opérations par lots.
3. Chaque jeton d'un contrat ERC-1155 est identifié par un identifiant uint256 unique et les soldes sont suivis par adresse et par identifiant.
4. La norme définit des fonctions de base telles que balanceOf , balanceOfBatch , safeTransferFrom et setApprovalForAll .
5. La prise en charge des métadonnées suit le schéma d'URI de métadonnées ERC-1155, dans lequel un URI de base est défini et les URI de jeton individuels sont dérivés via la substitution {id}.
Configuration de l'environnement de développement
1. Installez Node.js et npm pour gérer les dépendances et compiler le code Solidity à l'aide d'outils comme Hardhat ou Foundry.
2. Initialisez un nouveau projet Hardhat avec npx hardhat et configurez les réseaux, les comptes et les paramètres du compilateur dans hardhat.config.js .
3. Ajoutez l'implémentation ERC-1155 d'OpenZeppelin via npm install @openzeppelin/contracts pour hériter d'une logique de base sécurisée et auditée.
4. Créez un nouveau fichier Solidity, par exemple MyERC1155.sol et importez ERC1155 et Ownable depuis OpenZeppelin.
5. Définissez un constructeur qui définit l'URI de base et transfère la propriété au déployeur, garantissant que seules les parties autorisées peuvent mettre à jour les chemins de métadonnées ultérieurement.
Implémentation de la logique de jeton de base
1. Remplacez le hook _beforeTokenTransfer pour appliquer des règles personnalisées, par exemple, restreindre la frappe après un certain bloc ou empêcher les transferts pendant les fenêtres de maintenance.
2. Introduisez une fonction mint accessible uniquement par le propriétaire, acceptant les paramètres to , id , montant et data , puis appelant _mint .
3. Ajoutez une fonction mintBatch prenant en charge la frappe simultanée de plusieurs identifiants et montants de jetons, améliorant ainsi l'efficacité du gaz pour l'intégration de l'écosystème.
4. Implémentez un contrôle d'accès basé sur les rôles pour les actions sensibles à l'aide d'AccessControl d'OpenZeppelin pour séparer les rôles d'internaute, de pause et de mise à jour des métadonnées.
5. Intégrez des émissions d'événements telles que TransferSingle et TransferBatch pour garantir que les indexeurs hors chaîne et les dApp suivent correctement les changements d'état.
Déploiement et vérification sur le réseau principal
1. Écrivez des scripts de déploiement à l'aide de la tâche de déploiement de Hardhat, en spécifiant les points de terminaison du réseau, les clés privées et les arguments du constructeur, y compris la chaîne URI de base.
2. Utilisez la clé API d'Etherscan et le plugin de vérification de Hardhat pour soumettre automatiquement le code source et les arguments du constructeur pour vérification.
3. Confirmez le déploiement réussi en vérifiant l'adresse du contrat sur Etherscan et en validant que l'appel uri(1) renvoie un point de terminaison JSON correctement formaté avec les champs de nom, de description et d'image.
4. Interagissez avec le contrat déployé à l'aide de l'onglet « Écrire un contrat » d'Etherscan ou par programmation via ethers.js pour tester les fonctionnalités de création, d'approbation et de transfert.
5. Stockez l'URI de base sur IPFS ou un service de stockage décentralisé et épinglez-le à l'aide de services comme Pinata ou Web3.Storage pour garantir la disponibilité à long terme des actifs de métadonnées.
Foire aux questions
Q : Un contrat ERC-1155 peut-il détenir simultanément des NFT et des FT ? R : Oui. Un seul ID de jeton peut représenter soit un jeton fongible (avec un solde > 1), soit un jeton non fongible (avec un solde = 1), en fonction du contexte d'utilisation et de la logique de l'application.
Q : Est-il possible de graver des jetons dans un contrat ERC-1155 ? R : Oui. Les développeurs peuvent implémenter une fonction de gravure qui appelle _burn ou _burnBatch à partir de la base ERC1155 d'OpenZeppelin, réduisant ainsi les soldes et émettant les événements appropriés.
Q : Comment l'ERC-1155 gère-t-il les approbations par rapport à l'ERC-721 ? R : ERC-1155 utilise l'approbation au niveau de l'opérateur via setApprovalForAll , accordant une autorisation générale à un tiers pour tous les ID de jeton appartenant à l'appelant, plutôt qu'une approbation par jeton.
Q : Les marchés comme OpenSea prennent-ils en charge les jetons ERC-1155 ? R : Oui. Les principales plates-formes, notamment OpenSea, Blur et Magic Eden, prennent en charge ERC-1155, bien que certaines puissent imposer des restrictions sur les transferts par lots ou exiger un formatage URI spécifique pour un rendu correct des actifs.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Hong Kong se met sous tension : les licences Stablecoin et les réglementations cryptographiques occupent le devant de la scène
- 2026-01-31 00:55:01
- Le jeu de compression du marché de l'argent : capacité, offre et résolution de problèmes croissants
- 2026-01-31 00:55:01
- Choix du président de la Fed par Trump : Kevin Warsh intensifie ses efforts, Wall Street surveille
- 2026-01-30 22:10:06
- Le rêve d'or numérique de Bitcoin testé alors que les changements du marché et les nouvelles crypto-monnaies prennent feu
- 2026-01-30 22:10:06
- Binance double sa mise : le fonds SAFU se tourne entièrement vers Bitcoin, signalant une profonde conviction
- 2026-01-30 22:05:01
- Les résultats du quatrième trimestre de Chevron montrent un BPA supérieur malgré un déficit de revenus et les yeux rivés sur la croissance future
- 2026-01-30 22:05:01
Connaissances connexes
Comment exécuter un message inter-chaînes avec un contrat LayerZero ?
Jan 18,2026 at 01:19pm
Comprendre l'architecture LayerZero 1. LayerZero fonctionne comme un protocole d'interopérabilité léger et sans autorisation qui permet la com...
Comment mettre en œuvre EIP-712 pour la vérification sécurisée des signatures ?
Jan 20,2026 at 10:20pm
Présentation de l'EIP-712 et objectif principal 1. EIP-712 définit une norme pour le hachage et la signature de données structurées typées dans le...
Comment se qualifier pour les parachutages en interagissant avec de nouveaux contrats ?
Jan 24,2026 at 09:00pm
Comprendre les exigences d'interaction contractuelle 1. La plupart des campagnes de largage nécessitent une interaction directe avec des contrats ...
Comment surveiller un contrat intelligent pour les alertes de sécurité ?
Jan 21,2026 at 07:59am
Outils de surveillance en chaîne 1. Les explorateurs de blockchain comme Etherscan et Blockscout permettent une inspection en temps réel du bytecode d...
Comment mettre en place et financer un contrat de paiements automatisés ?
Jan 26,2026 at 08:59am
Comprendre le déploiement de contrats intelligents 1. Les développeurs doivent sélectionner une plate-forme blockchain compatible telle que Ethereum, ...
Comment utiliser les contrats OpenZeppelin pour créer des dApps sécurisées ?
Jan 18,2026 at 11:19am
Comprendre les principes fondamentaux des contrats OpenZeppelin 1. OpenZeppelin Contracts est une bibliothèque de composants de contrats intelligents ...
Comment exécuter un message inter-chaînes avec un contrat LayerZero ?
Jan 18,2026 at 01:19pm
Comprendre l'architecture LayerZero 1. LayerZero fonctionne comme un protocole d'interopérabilité léger et sans autorisation qui permet la com...
Comment mettre en œuvre EIP-712 pour la vérification sécurisée des signatures ?
Jan 20,2026 at 10:20pm
Présentation de l'EIP-712 et objectif principal 1. EIP-712 définit une norme pour le hachage et la signature de données structurées typées dans le...
Comment se qualifier pour les parachutages en interagissant avec de nouveaux contrats ?
Jan 24,2026 at 09:00pm
Comprendre les exigences d'interaction contractuelle 1. La plupart des campagnes de largage nécessitent une interaction directe avec des contrats ...
Comment surveiller un contrat intelligent pour les alertes de sécurité ?
Jan 21,2026 at 07:59am
Outils de surveillance en chaîne 1. Les explorateurs de blockchain comme Etherscan et Blockscout permettent une inspection en temps réel du bytecode d...
Comment mettre en place et financer un contrat de paiements automatisés ?
Jan 26,2026 at 08:59am
Comprendre le déploiement de contrats intelligents 1. Les développeurs doivent sélectionner une plate-forme blockchain compatible telle que Ethereum, ...
Comment utiliser les contrats OpenZeppelin pour créer des dApps sécurisées ?
Jan 18,2026 at 11:19am
Comprendre les principes fondamentaux des contrats OpenZeppelin 1. OpenZeppelin Contracts est une bibliothèque de composants de contrats intelligents ...
Voir tous les articles














