Przejdź do treści
Projekt pokazowyBlockchain i Web3
  • 223 testy
  • 100% pokrycia
  • analiza Slither

SigmaNFT Collection

Drop ERC-721 z allowlistą Merkle, fazą publiczną, tantiemami i opóźnionym revealem

ERC-721ERC-2981Merkle proofsFoundry

Co to jest

SigmaNFT przechowuje dla allowlisty wyłącznie korzeń drzewa Merkle – użytkownicy przedstawiają dowód, zgodny z @openzeppelin/merkle-tree – dzięki czemu na allowlistę można wpisać tysiące wspierających bez zapisywania adresów on-chain. Fazy przełączają się z Closed przez Allowlist do Public, każda z własną ceną i limitem na portfel, w ramach globalnej, niezmiennej maksymalnej podaży.

Dopóki owner nie ujawni kolekcji, każdy token zwraca metadane zastępcze; po revealu wskazuje na metadane docelowe. Tantiemy ERC-2981 sygnalizują marketplace’om wynagrodzenie twórcy, a wpływy ze sprzedaży wypłacane są ownerowi.

Problem biznesowy

Drop NFT musi nagrodzić wczesnych wspierających bez zapisywania tysięcy adresów on-chain, powstrzymać boty i wieloryby przed wykupieniem całego mintu, zarabiać tantiemy na sprzedaży wtórnej i zapobiec polowaniu na rzadkie egzemplarze przed revealem. Naiwne implementacje zawodzą dokładnie w tych punktach.

Jak to działa

  1. 1

    Off-chain: zbuduj drzewo Merkle z allowlisty, opublikuj dowody i ustaw korzeń Merkle.

  2. 2

    Owner otwiera fazę allowlisty; portfele z allowlisty mintują ze swoim dowodem po cenie dla allowlisty.

  3. 3

    Owner otwiera fazę publiczną; każdy może mintować do limitu na portfel.

  4. 4

    Po mincie metadane trafiają na IPFS, a owner wywołuje reveal(baseURI).

  5. 5

    Owner wypłaca wpływy ze sprzedaży.

Zabezpieczenia

  • Ścieżki mintowania z nonReentrant; liczniki aktualizowane przed callbackami _safeMint
  • Zasada dokładnej kwoty – żadnej logiki zwrotów, żadnego utraconego ETH
  • Podwójnie hashowane liście Merkle weryfikowane przez OpenZeppelin MerkleProof
  • Niezmienna maksymalna podaż; Ownable2Step
  • Wypłata kończy się revertem, zamiast po cichu gubić środki
  • Sprawdzone fuzzingiem: supply ≤ MAX_SUPPLY, balance == minted × price

Funkcje

  • Allowlista Merkle (oparta na dowodach)
  • Fazy Closed → Allowlist → Public z osobnymi cenami
  • Limity na portfel w każdej fazie
  • Niezmienne MAX_SUPPLY
  • Tantiemy ERC-2981
  • Opóźniony reveal

Typowe zastosowania

  • Dropy PFP i sztuki, karty członkowskie, bilety na wydarzenia
  • Kolekcje lojalnościowe marek dla dotychczasowych klientów
  • Przedsprzedaż przedmiotów w grach z opóźnionym ujawnieniem rzadkości

Znane ograniczenia

Hosting metadanych (np. pinning w IPFS) odbywa się off-chain.

Pozostałe kontrakty pokazowe

Pokazowy

Milestone Escrow

Klient z góry blokuje cały budżet, podzielony na kamienie milowe. Środki są wypłacane tylko przy zwolnieniu, decyzji arbitra albo anulowaniu.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 testy · 100% pokrycia · analiza Slither

Pokazowy

Token + Vesting + Staking

ERC-20 z limitem podaży i zatwierdzeniami bez gasu, harmonogramy vestingu z cliffem dla zespołu i inwestorów oraz nagrody za staking w stylu Synthetix.

ERC-20EIP-2612OpenZeppelin v5

223 testy · 100% pokrycia · analiza Slither

Pokazowy

Gold-Backed Token (RWA)

Pokrycie staje się warunkiem mintowania: tokeny można wyemitować tylko wtedy, gdy zgłoszona rezerwa złota pokrywa nową łączną podaż.

ERC-20AccessControlProof of reserve

223 testy · 100% pokrycia · analiza Slither

Standardy: Solidity 0.8.x, OpenZeppelin, testy Foundry z fuzzingiem, analiza statyczna Slither, zweryfikowany kod źródłowy. 223 testy · 100% pokrycia · analiza Slither.

Masz pomysł na projekt?

Opowiedz nam, co budujesz. Zwykle w ciągu kilku dni roboczych dostajesz uczciwą ocenę, jasny zakres i ofertę w stałej cenie albo z rozliczeniem za kamienie milowe.

Wolisz najpierw napisać? Napisz do nas

Twój rozmówca: Ing. Ismet Mesic, Tech lead.