Oyun Kitabı
Métadonnées IPFS (InterPlanetary File System), Mint et Multiple Mint (Metadonnees Ipfs Interplanetary File System Mint Et Multiple Mint)
Infura IPFS + Pinata Pinata, métadonnées JSON, mint (tokenId, uri) et multipleMint : 0,1 ETH × n, 750 approvisionnement.
Collection NFT Mint et durcissement du réseau principal
Partie 2 de 4
Surfaces menthe CBD All-Stars et Confident Gorillas : entonnoir de liste blanche WIP, métadonnées IPFS, espace réservé → pipeline de révélation et renforcement du portefeuille du réseau principal avec Web3Modal.
La chaîne ne tient pas l'image ; Montant du CID
Dans le flux de menthe Confident Gorillas, les images et les fonctionnalités sont d'abord écrites sur IPFS : téléchargement JSON/fichier avec l'API d'ajout d'Infura, épingle avec Pinata. Ensuite, le contrat mint ou multipleMint est appelé ; valeur 0,1 ETH × pcs. Le sélecteur de quantité (2 à 5) dans Landing est directement connecté au paramètre multipleMint(num).```text traits + image ↓ uploadJSON / uploadFile (Infura IPFS) ↓ pinHash (Pinata) ↓ CID / metadata hash ↓ mint(tokenId, uri) | multipleMint(uri, num) ↓ value = 0.1 ETH × num supply ≤ 750
## Concepts à la première mention```text
📦 IPFS CID
İçeriğin içeriğe dayalı adresi; tokenURI genelde bu hash'e referans verir.
📦 Pinning
CID'nin kaybolmaması için Pinata gibi bir pinning servisinde tutma.
📦 multipleMint
Tek tx'de birden fazla NFT basma; value ve gas maliyeti adetle ölçeklenir.
📦 Mint Price
Confident Gorillas'da 1e17 wei (0.1 ETH) × mint adedi.
```Le téléchargement Infura et la broche Pinata sont des étapes distinctes. Si le téléchargement réussit et que le code PIN est oublié, les passerelles peuvent donner 404 au fil du temps.
## Forme des métadonnées
nftContractUtils configure les métadonnées avec le nom, la description, l'image (hachage IPFS), l'url_externe et les attributs (artiste, arrière-plan, corps, œil, bouche). uploadJSON renvoie le hachage ; Ce hachage est transformé en uri.```text
metadata JSON
name / description / image
attributes[] → traits
↓
uploadJSON → ipfsMetadataHash
```## menthe vs multipleMint
Monnaie unique : menthe (tokenId, ipfsMetadataHash) + 0,1 ETH. Multiple : multipleMint(ipfsMetadataHash, num) + 0,1 ETH × num. La sélection de la page d'accueil sélectionne 2 à 5 ; Le conteneur Minter appelle multiplemintNFT. Avec un plafond d'approvisionnement total de 750 restants, il est indiqué dans l'interface utilisateur.```text
UI qty (2..5)
↓
multipleMint(uri, num)
value = 1e17 * num
gasLimit ≈ 300000 (app default)
```## ADR : IPFS avant, chaîne après
Verdict : les métadonnées et les médias ne sont pas intégrés dans la chaîne ; d'abord IPFS, puis référence uri en chaîne. Avantage : chemin de mise à jour bon marché (révélation) et petites données d'appel. Risque : l'épinglage et la passerelle peuvent devenir des points uniques – sauvegardes de la broche Pinata + de la passerelle publique requises.```text
ADR-02 Content-addressed mint
Off-chain: Infura add + Pinata pin
On-chain: store URI hash only
Read path: tokenURI → retrieveJSON
```## Scénarios d'échec
La correction de gasPrice : 0 fera que tx restera bloqué/sous-évalué sur le réseau principal. Un mauvais réseau (remplacement Rinkeby/Infura) ne vous permettra pas de signer l'accord du réseau principal. Incompatibilité ABI : si l'ABI du frontend et la signature multipleMint déployée ne correspondent pas, l'encodage génère une erreur. Adresse souche : Dans All-Stars, quatre contrats concernaient la même adresse.```text
Fail matrix
gasPrice=0 → stuck / underpriced
wrong chainId → silent wrong net
ABI skew → encode / revert
stub address → call nowhere useful
Les confrontations les plus déroutantes de cet épisode```text
❌ Image'ı base64 olarak sözleşmeye yaz ✓ Image'ı IPFS'e koy; zincirde yalnızca CID/URI tut
❌ Upload yeter, pin opsiyonel ✓ Upload + pin birlikte; aksi halde içerik unorphan riski
❌ gasPrice: 0 'otomatik' demektir ✓ gasPrice: 0 çoğu mainnet koşulunda underpriced tx üretir
## Liste de contrôle de votre propre système
1. Le CID pré-Mint est-il épinglé dans Pinata (ou équivalent) ?
2. La valeur de 0,1 ETH × num est-elle vérifiée par le compte wei ?
3. Le totalSupply + num ≤ 750 est-il vérifié dans l'interface utilisateur et le contrat ?
4. GasPrice / maxFeePerGas est-il dynamique pour le réseau principal ?
5. L'ABI déployé et l'ABI frontend proviennent-ils du même commit ?
## Choses à retenir de cette section
1. Pipeline Mint : traits → IPFS → code PIN → appel de contrat → valeur.
2. multipleMint est l'équivalent en chaîne du sélecteur de quantité de débarquement.
3. gasPrice : 0, l'adresse de stub et le biais ABI sont le trio classique du réseau principal.
> Si vous intégrez des métadonnées sur une chaîne, vous renvoyez la menthe chère ; Si vous laissez le CID non épinglé, vous perdrez la collection.
FAQ
Frequently asked questions
Qu’est-ce que le CID IPFS ?
Adresse contextuelle du contenu ; tokenURI fait généralement référence à ce hachage.
Qu’est-ce que l’épinglage ?
Pour éviter de perdre le CID, conservez-le sur un service d'épinglage comme Pinata.
"Écrire l'image en base64 dans le contrat" est-il correct ?
Mettez l'image dans IPFS ; conserver uniquement le CID/URI dans la chaîne
Que corrige cette section ?
Cette section connecte le pipeline de métadonnées au mint tx ; La section suivante ouvre l'URI de l'espace réservé et la révélation du propriétaire. Dans le flux de menthe Confident Gorillas, les images et les fonctionnalités sont d'abord écrites sur IPFS : téléchargement JSON/fichier avec l'API d'ajout d'Infura, épingle avec Pinata. Ensuite, le contrat mint ou multipleMint est appelé ; valeur 0,1 ETH × pcs. Le sélecteur de quantité (2 à 5) dans Landing est directement connecté au paramètre multipleMint(num).
Principes d'ingénierie appris
- Tout d’abord, le contenu doit être traité, puis l’URI doit être stocké sur la chaîne.
- Vérifiez à nouveau le prix, la quantité et le plafond d’approvisionnement entre l’assurance-chômage et le contrat.
- Prouvez les paramètres de transmission du réseau principal (gas, chainId, adresse, ABI) lors de la préparation.
Continuer la lecture
Continuer la lecture
Suivant en série
URI d'espace réservé et ligne de révélation du propriétaire
Dans Mint, les métadonnées d'espace réservé, la carte uridata, la révélation (tokenId, uriHash) et la surface de révélation que seul le propriétaire peut…
Suivant en série
Atterrissage de collection et entonnoir de liste blanche WIP
Atterrissage à la menthe CBD All-Stars : comment #GETINTHEWIP, 750 emplacements, un entonnoir de remise et une surface à la menthe uniquement MetaMask ?
Même série
Mainnet Web3Modal et renforcement du portefeuille
Migration de MetaMask uniquement vers Web3Modal + WalletConnect + Coinbase WalletLink ; chainId, gaz et durcissement des adresses.