Vai al contenuto
Progetto showcaseBlockchain & Web3
  • 223 test
  • copertura 100%
  • analisi Slither

SigmaNFT Collection

Drop ERC-721 con allowlist Merkle, fase pubblica, royalty e reveal differito

ERC-721ERC-2981Merkle proofsFoundry

Che cos'è

SigmaNFT memorizza soltanto una Merkle root per l'allowlist (gli utenti presentano una proof, compatibile con @openzeppelin/merkle-tree), così migliaia di sostenitori possono essere inseriti in allowlist senza scrivere indirizzi on-chain. Le fasi passano da Closed ad Allowlist a Public, ciascuna con il proprio prezzo e il proprio limite per wallet, entro una supply massima globale e immutabile.

Finché l'owner non esegue il reveal della collezione, ogni token restituisce i metadati segnaposto; dopo il reveal punta ai metadati definitivi. Le royalty ERC-2981 segnalano ai marketplace i compensi dovuti al creatore, e i proventi vengono prelevati dall'owner.

Il problema di business

Un drop NFT deve premiare i primi sostenitori senza memorizzare migliaia di indirizzi on-chain, impedire a bot e whale di fare incetta del mint, generare royalty sulle vendite secondarie ed evitare lo sniping delle rarità prima del reveal. Le implementazioni ingenue falliscono proprio su questi punti.

Come funziona

  1. 1

    Off-chain: si costruisce un Merkle tree a partire dall'allowlist, si pubblicano le proof e si imposta la Merkle root.

  2. 2

    L'owner apre la fase allowlist; i wallet in allowlist eseguono il mint con la propria proof al prezzo allowlist.

  3. 3

    L'owner apre la fase pubblica; chiunque può eseguire il mint fino al limite per wallet.

  4. 4

    Dopo il mint, i metadati vengono caricati su IPFS e l'owner chiama reveal(baseURI).

  5. 5

    L'owner preleva i proventi.

Misure di sicurezza

  • Percorsi di mint nonReentrant; contatori aggiornati prima delle callback di _safeMint
  • Regola del pagamento esatto: nessuna logica di rimborso, nessun ETH perso
  • Foglie Merkle con doppio hash verificate con MerkleProof di OpenZeppelin
  • Supply massima immutabile; Ownable2Step
  • Il prelievo va in revert invece di perdere fondi in silenzio
  • Verificato con fuzzing: supply ≤ MAX_SUPPLY, balance == minted × price

Funzionalità

  • Allowlist Merkle (basata su proof)
  • Fasi Closed → Allowlist → Public con prezzi separati
  • Limiti per wallet in ogni fase
  • MAX_SUPPLY immutabile
  • Royalty ERC-2981
  • Reveal differito

Casi d'uso tipici

  • Drop di PFP e arte, pass di membership, biglietti per eventi
  • Collezioni fedeltà di brand per clienti esistenti
  • Prevendite di oggetti di gioco con reveal differito delle rarità

Limiti noti

L'hosting dei metadati (ad es. il pinning su IPFS) è gestito off-chain.

Altri contratti showcase

Showcase

Milestone Escrow

Il committente blocca in anticipo l'intero budget, suddiviso in milestone. I fondi si muovono solo con un rilascio, una decisione dell'arbitro o un annullamento.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 test · copertura 100% · analisi Slither

Showcase

Token + Vesting + Staking

Un ERC-20 con cap e approvazioni gasless, piani di vesting con cliff per team e investitori e ricompense di staking sul modello Synthetix.

ERC-20EIP-2612OpenZeppelin v5

223 test · copertura 100% · analisi Slither

Showcase

Gold-Backed Token (RWA)

La copertura diventa una precondizione del mint: i token possono essere coniati solo se la riserva d'oro dichiarata copre la nuova supply totale.

ERC-20AccessControlProof of reserve

223 test · copertura 100% · analisi Slither

Standard: Solidity 0.8.x, OpenZeppelin, test Foundry con fuzzing, analisi statica con Slither, codice sorgente verificato. 223 test · copertura 100% · analisi Slither.

Avete un progetto in mente?

Raccontateci che cosa state costruendo. Uno sviluppatore senior vi risponde entro 24 ore nei giorni lavorativi; l'offerta scritta, a prezzo fisso o a milestone, arriva di norma entro pochi giorni lavorativi.

Preferite prima scriverci? Scriveteci

Parlerete direttamente con Ing. Ismet Mesic, Tech lead.