Перейти к содержимому
Демонстрационный проектBlockchain и Web3
  • 223 тестов
  • 100% покрытие
  • анализ Slither

SigmaNFT Collection

ERC-721 дроп с Merkle-allowlist, публичной фазой, роялти и отложенным раскрытием

ERC-721ERC-2981Merkle proofsFoundry

Что это

SigmaNFT хранит для allowlist только корень Merkle (пользователи подают доказательство, совместимо с @openzeppelin/merkle-tree), поэтому тысячи сторонников попадают в список без записи адресов в блокчейн. Фазы переключаются Closed → Allowlist → Public, у каждой своя цена и лимит на кошелёк, под глобальным неизменяемым максимумом эмиссии.

Пока владелец не раскроет коллекцию, каждый токен возвращает метаданные-заглушку; после раскрытия указывает на финальные метаданные. Роялти ERC-2981 сообщают маркетплейсам о комиссии автора, а выручка выводится владельцу.

Бизнес-задача

NFT-дроп должен вознаграждать ранних сторонников без записи тысяч адресов в блокчейн, останавливать ботов и китов от скупки минта, приносить роялти со вторичных продаж и предотвращать снайпинг редкости до раскрытия. Наивные реализации проваливаются ровно в этих точках.

Как работает

  1. 1

    Вне блокчейна: постройте Merkle-дерево из allowlist, опубликуйте доказательства и установите корень Merkle.

  2. 2

    Владелец открывает фазу allowlist; кошельки из списка выпускают по цене allowlist со своим доказательством.

  3. 3

    Владелец открывает публичную фазу; выпускать может любой до лимита на кошелёк.

  4. 4

    После минта метаданные загружаются в IPFS, и владелец вызывает reveal(baseURI).

  5. 5

    Владелец выводит выручку.

Меры безопасности

  • nonReentrant на путях минта; счётчики обновляются до колбэков _safeMint
  • Правило точной оплаты: нет логики возврата, нет потерянных ETH
  • Листья Merkle с двойным хэшированием, проверка OpenZeppelin MerkleProof
  • Неизменяемый максимум эмиссии; Ownable2Step
  • Withdraw откатывается вместо тихой потери средств
  • Фаззинг: эмиссия ≤ MAX_SUPPLY, баланс == выпущено × цена

Возможности

  • Merkle-allowlist (на доказательствах)
  • Фазы Closed → Allowlist → Public с отдельными ценами
  • Лимиты на кошелёк в каждой фазе
  • Неизменяемый MAX_SUPPLY
  • Роялти ERC-2981
  • Отложенное раскрытие

Типичные сценарии

  • PFP- и арт-дропы, пропуска участников, билеты на события
  • Коллекции лояльности брендов для существующих клиентов
  • Предпродажи игровых предметов с отложенным раскрытием редкости

Известные ограничения

Хостинг метаданных (например, пиннинг в IPFS) выполняется вне блокчейна.

Другие демонстрационные контракты

Витрина

Milestone Escrow

Клиент блокирует весь бюджет заранее, разделённый на этапы. Средства движутся только при освобождении, решении арбитра или отмене.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 тестов · 100% покрытие · анализ Slither

Витрина

Token + Vesting + Staking

Ограниченный ERC-20 с gasless-аппрувами, расписания вестинга с cliff для команды и инвесторов и награды за стейкинг в стиле Synthetix.

ERC-20EIP-2612OpenZeppelin v5

223 тестов · 100% покрытие · анализ Slither

Витрина

Gold-Backed Token (RWA)

Обеспечение становится предусловием выпуска: токены можно выпускать, только если заявленный резерв золота покрывает новую общую эмиссию.

ERC-20AccessControlProof of reserve

223 тестов · 100% покрытие · анализ Slither

Стандарты: Solidity 0.8.x, OpenZeppelin, тесты Foundry с фаззингом, статический анализ Slither, верифицированный исходник. 223 тестов · 100% покрытие · анализ Slither.

Есть проект в голове?

Расскажите, что строите. В рабочие дни senior-инженер отвечает в течение часа — затем вы получаете честную оценку, понятный объём и предложение с фиксированной ценой или по вехам, обычно за несколько рабочих дней.

Сначала написать? Напишите нам

Вы будете говорить напрямую с Ing. Ismet Mesic, Tech lead.