Playbook

Metadatos IPFS (Sistema de archivos interplanetario), Mint y Multiple Mint (Metadatos Ipfs Sistema DE Archivos Interplanetario Mint Y Multiple Mint)

Infura IPFS + pin Pinata, metadatos JSON, mint(tokenId, uri) y multipleMint: 0,1 ETH × n, suministro de 750.

Colección NFT Mint y endurecimiento de Mainnet

Parte 2 de 4

Superficies de menta CBD All-Stars y Confident Gorillas: embudo de lista blanca WIP, metadatos IPFS, canal de revelación de marcador de posición y fortalecimiento de billetera de red principal con Web3Modal.

NFT mint and mainnet architecture diagram

La cadena no sostiene la imagen; monto del CID

En la transmisión Mint de Confident Gorillas, las imágenes y características se escriben primero en IPFS: JSON/carga de archivos con Infura add API, pin con Pinata. Luego se llama al contrato mint o multipleMint; valor 0,1 ETH × uds. El selector de cantidad (2–5) en Landing está directamente conectado al parámetro 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


## Conceptos en la primera mención```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.
```La carga de Infura y el pin de piñata son pasos separados. Si la carga se realiza correctamente y se olvida el pin, las puertas de enlace pueden dar 404 con el tiempo.

## Forma de metadatos

nftContractUtils configura metadatos con nombre, descripción, imagen (hash IPFS), external_url y atributos (artista, fondo, cuerpo, ojo, boca). uploadJSON devuelve hash; Este hash se acuña como uri.```text
metadata JSON
  name / description / image
  attributes[] → traits
       ↓
  uploadJSON → ipfsMetadataHash
```## menta vs múltipleMint

Menta única: mint(tokenId, ipfsMetadataHash) + 0,1 ETH. Múltiple: multipleMint(ipfsMetadataHash, num) + 0.1 ETH × num. La selección de página de inicio selecciona del 2 al 5; El contenedor Minter llama a multiplemintNFT. Con un límite de suministro total de 750 restantes, se muestra en la interfaz de usuario.```text
UI qty (2..5)
   ↓
multipleMint(uri, num)
   value = 1e17 * num
   gasLimit ≈ 300000 (app default)
```## ADR: IPFS antes, cadena después

Veredicto: los metadatos y los medios no están integrados en la cadena; primero IPFS, luego referencia de uri en cadena. Ventaja: ruta de actualización económica (revelar) y datos de llamada pequeños. Riesgo: la fijación y la puerta de enlace pueden convertirse en puntos únicos: se requieren copias de seguridad de Pinata pin + puerta de enlace pública.```text
ADR-02 Content-addressed mint
  Off-chain: Infura add + Pinata pin
  On-chain: store URI hash only
  Read path: tokenURI → retrieveJSON
```## Escenarios de fracaso

Arreglar gasPrice: 0 hará que tx permanezca estancado/bajo precio en la red principal. La red incorrecta (reserva de Rinkeby/Infura) no le permitirá firmar el acuerdo de red principal. Falta de coincidencia de ABI: si la ABI de la interfaz y la firma multipleMint implementada no coinciden, la codificación genera un error. Dirección resguardada: En All-Stars, cuatro contratos miraban a la misma dirección.```text
Fail matrix
  gasPrice=0     → stuck / underpriced
  wrong chainId  → silent wrong net
  ABI skew       → encode / revert
  stub address   → call nowhere useful

Los enfrentamientos más confusos de este episodio.```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


## Lista de verificación de su propio sistema

1. ¿El CID anterior a la menta está fijado en Pinata (o equivalente)?
2. ¿La cuenta wei verifica el valor de 0,1 ETH × num?
3. ¿Está el totalSupply + num ≤ 750 verificado en la interfaz de usuario y el contrato?
4. ¿GasPrice / maxFeePerGas es dinámico para la red principal?
5. ¿La ABI implementada y la ABI front-end provienen del mismo compromiso?

## Cosas para recordar de esta sección

1. Tubería de menta: rasgos → IPFS → pin → llamada de contrato → valor.
2. multipleMint es el equivalente en cadena del selector de cantidad de aterrizaje.
3. gasPrice: 0, dirección stub y ABI skew son el trío clásico de mainnet.

> Si incorporas metadatos en la cadena, encareces el dinero; Si deja el CID sin fijar perderá la colección.

FAQ

Frequently asked questions

¿Qué es IPFS CID?

Dirección contextual del contenido; tokenURI normalmente hace referencia a este hash.

¿Qué es fijar?

Para evitar perder el CID, manténgalo en un servicio de fijación como Pinata.

¿Es correcto "Escribir la imagen como base64 en el contrato"?

Poner imagen en IPFS; mantener solo CID/URI en cadena

¿Qué soluciona esta sección?

Esta sección conecta la canalización de metadatos al mint tx; La siguiente sección abre el URI del marcador de posición y la revelación del propietario. En la transmisión Mint de Confident Gorillas, las imágenes y características se escriben primero en IPFS: JSON/carga de archivos con Infura add API, pin con Pinata. Luego se llama al contrato mint o multipleMint; valor 0,1 ETH × uds. El selector de cantidad (2–5) en Landing está directamente conectado al parámetro multipleMint(num).

Principios de ingeniería aprendidos

  • Primero, se debe abordar el contenido, luego se debe almacenar el uri en la cadena.
  • Verifique dos veces el precio, la cantidad y el límite de suministro entre la UI y el contrato.
  • Demuestre los parámetros de transmisión de mainnet (gas, chainId, dirección, ABI) en la preparación.

Continuar leyendo

Continuar leyendo

Siguiente en la serie

Siguiente en la serie

Misma serie

Paylaş