Launch your own NFT marketplace by pressing one button. Yes, really.
Own an NFT collection? Then you're just a few clicks away from creating your own custom marketplace. No built-in fees.
Rarible

Today, we enable literally anyone who owns an Ethereum NFT collection to build their own customizable marketplace via one button. Few clicks. Zero code. Zero fees. Endless possibilities.
But first things first. If you follow our Twitter, read our newsletter or keep up with our blog, you’ve probably noticed we’re super bullish on community marketplaces.
Not in the loop in those? That’s okay, we’ll get you up to speed. A community marketplace is a customized NFT marketplace for one project’s collections. That has a few advantages:
- No fake collections: This ensures all community members buy the real deal
- Custom fees: You can set lower fees and send the proceeds to community/DAO wallets to benefit the community.
- On-brand trading experience: Buying and selling NFTs on a marketplace with the same vibe as the community—not a third-party marketplace.
- Greater decentralization: Community marketplaces exist independently from the top trading platforms, which can hypothetically go down/delist your NFTs at any point.
- Built-in liquidity: Powered by Rarible Protocol, community marketplaces automatically import sale orders and bids from OpenSea, X2Y2, LooksRare, Rarible.com, sudoswap (with more marketplaces to be added soon).
So unless you’re only looking for a quick flip, community marketplace > third-party marketplace. So far, we’ve hand-picked the projects we partner with for community marketplaces. A few of these are:
But now, we’re enabling any NFT collection owner on Rarible to build their own marketplace with NO built-in fees.
Introducing: “Create marketplace” button. It allows you to launch your own NFT marketplace in just a few clicks.
Getting started
No need to sign in because you keep at least 3 Rarible.com tabs open anyways for good luck (you do, right?). If you don’t, connect the wallet that owns the collection you want to create a marketplace for and sign in/up to Rarible.com.
Next, simply navigate to the collection and click “Create marketplace”. This button only works for collection owners, so make sure you’re connected with the right wallet.

Launching your NFT marketplace
Now it’s time for some basic paperwork. You’ll see this form:

Yes, your email address is the only required field for now and you can change everything else later via the editor. So if you own an NFT collection and an email address, you can create your custom NFT marketplace pretty much instantly.
All the fields here are self-explanatory, except for the Community fee one: This is the transaction fee your marketplace will charge on each transaction. Those fees will be sent to the wallet address you specify in the next field, so it can be the address for your community treasury or your DAO’s wallet, for instance. Rarible charges NO fee on the marketplaces created via this generator, so 100% fees go directly to the wallet affiliated with your project. Or you can even have no fees whatsoever (in that case you just need to set Community fee to 0%) — this generator is all about the freedom that Web3 provides.
After you’re done with that form and click ‘Create’, your marketplace is live!
Now to the marketplace editor, which enables you to customize your new platform. You can access the editor at any time via the three dots on the top right (see ‘Settings’).
The editor has 4 sections that enable you to customize your marketplace, starting with the General one:

As you can see, this one is all about the visuals: you can pick a theme (dark/light), base color, primary color, fonts, and upload your logo—quite a few options to make sure the marketplace nails the !vibe of your collection.
Then you have a toggle that allows you to display/hide stats (i.e. the floor price, number of items, volume)—we recommend leaving it on so that people who are considering buying in can do their due diligence.
Now to the second section, called Main page.

A quick explanation of the fields here:
- Fullscreen hero: This makes the top section of your marketplace fullscreen instead of showing additional information.
- Title: This will be the title of the tab in the browser, Google results, etc. It’s easiest to simply put the collection name, but feel free to get creative.
- Description: This goes under the headline—explain your collection (and/or marketplace) in a few words.
Next, there is Explore section:

This one is as straightforward as it gets—you only have to upload your background picture that will show up on the ‘Explore’ page of your marketplace.
Finally, the last section is for Social media links:

Here, you simply put in the socials for your collection so that people can easily find and connect with your community, be it on Twitter, Discord, or Instagram.
Your new marketplace is ready
Finish the process and… ta-da! You’ve now got your own custom marketplace on which your community can trade NFTs. When you launch it, it imports orders from all of Rarible Protocol, including sale orders and bids from OpenSea, Looksrare, X2Y2, Sudoswap Rarible.com (with more to be added soon)—that way, your community can ape in immediately.
But remember to get people to list on your marketplace so that they can trade at minimal fees (0% on the Rarible side and then whatever percent you choose to charge on behalf of your project). It’s a win-win for everyone.
Как создать свой маркетплейс для продажи NFT?
Раньше NFT были доступны лишь на специализированных площадках и торговались в узком кругу криптоэнтузиастов. В 2022 все уже слышали про NFT, они стали частью культуры. После успешных интеграций с люксовыми одежды брендами, мировые бренды стали активно внедрять NFT. В их числе McDonald’s, Samsung, Visa, Shopify, NBA, Marvel.
NFT — это не просто хайп. По сравнению с 2020 годом, объем продаж NFT вырос в 400 раз (с 33 млн. до 13 млрд долларов США). Оборот OpenSea в декабре 2021 был 3 млрд. долларов США, а всего за несколько дней января 2022 перевалил $700 млн!
Но не одним OpenSea едины. Сейчас отличное время изучать новые сценарии и схемы бизнеса с NFT. Например, платформа для создания интернет-магазинов Shopify анонсировала интеграцию NFT для своих пользователей.
Через неё бренды могут создавать и продавать NFT в своих магазинах.
Благодаря простоте и удобству использования, скорости создания eCommerce проектов — Shopify занимает лидирующие позиции в рейтингах платформ для создания интернет-магазинов. Ещё в июле 2021 года Shopify приняла решение предоставить пользователям возможность для продажи NFT-токенов.
Для многих пользователей это событие стало эпохальным. У них появилась возможность конвертировать цифровую продукцию в NFT и продавать ее без затруднений. Кроме того, теперь NFT можно покупать и продавать используя дебетовые и кредитные карты.
Теперь если вы автор и/или владелец цифровых продуктов (видео, изображения, игры, и т. д.), вы можете их продать в качестве NFT в своём магазине на Shopify.
Зачем продавать NFT на Shopify?
Продавая на своей платформе, Вы не делитесь комиссией с маркетплейсом, а также получаете полный доступ к данным о покупателях и аналитике вашей витрины NFT.
Все пользователи Shopify имеют доступ к интегрированным платежным системам. Пользователи могут продавать товары и услуги напрямую, без участия посредников и сторонних сервисов, что заметно облегчает процесс. Если вы владеете Интернет-магазином на Shopify, вы можете также принимать платежи через собственную платежную систему Shopify, Stripe, PayPal и даже платежи в криптовалюте.
Почти все эти методы поддерживает операции с токенами NFT как с цифровыми продуктами. Любой пользователь, зарегистрировавшись на платформе Shopify, может оцифровать свои продукты и выставить их на продажу.
Теперь покупать и продавать NFT можно как за криптовалюту, так и за обычные деньги (Фиат). Наличие крипто-кошелька уже не является обязательным условием для купли-продажи NFT.
Начать продавать NFT на Shopify, используя базовый набор функций, доступный по подписке Basic. Однако, если вы хотите использовать все возможности NFT, вам понадобится тариф Shopify Plus.
Для Shopify Plus-пользователей Shopify анонсировала программу NFT Beta Program. Например, чтобы мотивировать покупателей и расширить пользовательскую базу, программа предоставляет функционал:
— Раздача NFT (airdrops)
— Вознаграждения за покупки NFT
— Закрытый контент для владельцев NFT
— сертификаты подлинности (COA).
Программа доступна для Shopify Plus магазинов, зарегистрированных на территории США.
Для торговли NFT на Shopify доступны три блокчейн-платформы – Ethereum, Polygon и Flow. Иными словами, пользователь может создавать токены на любой из них и продавать их, запустив Интернет-магазин на Shopify. Без сомнения, Shopify будет расширять список интеграций, однако в данный момент доступны только эти три платформы.
Следует отметить, что Shopify не отвечает за безопасность NFT. Именно продавец принимает необходимые меры для защиты авторских прав на контент и предотвращения утечек. Читайте статьи и обзоры о том, как правильно продавать NFT с помощью Shopify и о различиях между продажей через собственные интернет-магазины (Shopify) и маркетплейсы (OpenSea).
Shopify предлагает самые разнообразные платежные сервисы. Он поддерживает более 300 криптовалют (Bitcoin, Litecoin, Ethereum и т. д.), а также более 130 официальных валют. Помимо этого, платформа поддерживает ряд электронных платежных систем, таких как:
- Shopify payment (владелец — Shopify)
- PayPal
- Authorize.net
- WorldPay
- 2CheckOut
Shopify поддерживает несколько криптовалютных сервисов:
- GoCoin
- CoinPayment.net
- Coinbase Commerce
- BitPay
В свою очередь, эти системы поддерживают огромное количество криптовалют, и вы можете продавать цифровые продукты, используя любую популярную систему.
Например, Coinbase Commerce, будучи партнером Shopify, обеспечивает безопасное взаимодействие между системой и Shopify с помощью API и делает возможными операции с использованием всех популярных криптовалют (Bitcoin, Bitcoin Cash, DAI, и т. д.) Для этого необходимо выполнить несколько простых шагов:
- Зарегистрироваться на Coinbase Commerce
- Создать API-ключ
- Добавить Coinbase Commerce в список провайдеров платежных услуг2
В этом разделе описаны шаги и процедуры, необходимые для продажи токенов NFT на Shopify (с учетом того, что вы уже знаете что такое NFT и как их создать). Вот, что вам понадобится:
Помимо классического подхода к разработке, Shopify предлагает большое количество разных шаблонов и визуальный редактор магазина.
Все ключевые элементы интернет-магазина доступны в админке с удобным интерфейсом. Настройка магазина по шаблону максимальна проста и доступна даже новичкам.
Если вы хотите сделать уникальный дизайн, кастомный функционал или успешно запустить ваш проект, можете всегда обратиться в ECORN.
Shopify предлагает собственные, а также поддерживает сторонние платежные системы. Их список вы можете найти выше, а уточнить подойдут ли они к вашему проекту — в процессе создания сайта.
Поскольку Shopify поддерживает криптовалюты, у вас есть возможность подключить платежи в криптовалюте и ориентироваться на растущую аудиторию, которая расплачивается криптокошельками.
Теперь, когда вы выбрали платежную систему, еще раз проверьте ваш сайт. Убедитесь, что выбранная тема и контент вас устраивают. Если это то, что вам нужно, можно приступать к созданию токенов NFT.
Данный этап самый сложный. Как вы помните, Shopify не несет ответственности за хранение и передачу цифровых продуктов. За безопасность и передачу продуктов покупателю отвечает продавец. Команда Shopify обращает особое внимание на то, что все NFT должны соответствовать Правилам использования платформы.
Также, Shopify не предоставляет каких-либо инструкций или советов по созданию NFT. В то же время, имеются вполне достойные сторонние источники информации о продажах NFT. Первое сообщение о продаже токена появилось в июле 2021 года, когда баскетбольная команда «Чикаго буллз» «оцифровала» свое чемпионское кольцо и продала его на Shopify в качестве NFT.
Способ реализации NFT в интернет-магазине может быть как с помощью блокчейна, так и с помощью продажи обычного цифрового товара.
Вы можете создавать и продавать NFT используя блокчейны Ethereum, Polygon и Flow. Это будет чуть сложнее и самостоятельно реализовать вряд ли получится.
Есть более упрощённые способы: приложения SendOwl (позволят продавать цифровые товары) и Foridev (используется для продажи лицензионных ключей активации).
Ведение любого бизнеса, в том числе и продаж NFT, едва ли возможно без использования эффективной маркетинговой стратегии. Планируйте эти вещи заранее, многие NFT проекты становятся виральными ещё до запуска продаж!
Используйте white-листы и airdrops — это классические инструменты для NFT проектов.
Shopify не предоставляет подробной информации о NFT или Блокчейн платформах. Однако, необходимо соблюдать правила и политику платформы, а также следить за возможными изменениями в них. К примеру, нам уже известно, что платформа поддерживает три Блокчейн-сети – Ethereum, Polygon и Flow, однако все может измениться, т.к. на этом рынке всё быстро меняется.
Если вы планируете заняться продажей NFT, вам необходимо понять принцип работы платформы, на которой вы продаёте ваш продукт. Важно разбираться в вопросах, касающихся авторских прав, и понимать разницу между разовыми и регулярными сделками. Необходимо четко и ясно обозначать условия передачи NFT. Это поможет избежать споров и конфликтов.
NFT — это крутой тренд, который не исчезнет завтра. Помимо продаж на классических платформах, появляются новые юзкейсы и бизнес модели c NFT. Продажа через Shopify — одна из них. Хотя Shopify только запускает интеграцию NFT, платформа открыта для всех желающих, а каждый месяц выходят новые Shopify Apps для NFT.
Платформа Shopify дает возможность продавать NFT качественно новым способом и помогает вам получить дополнительное преимущество перед конкурентами.
Не решились переходить на Shopify? — воспользуйтесь бесплатным пробным периодом. Если у вас возникнут вопросы — изучайте доступные материалы (они постоянно обновляются) или обращайтесь к профессиональным разработчикам: )
NFT это очень интересно!
Все что связанно с криптой, ээто интересно!
Весь смысл маркетплейса в том, что на нем есть спрос и предложение. Это как свой рынок открыть с одной лавкой, на который никто не ходит. Зато не платишь комиссию
А что статья ради рефералки на Shopify это норм для VC?
Немало торговых площадок готовы бросить вызов OpenSea в 2022
https://t.me/criptosquirell/146
Торговые площадки NFT, которые бросят вызов OpenSea в 2022
OpenSea стала ведущим рынком NFT в 2021 году с профитом 3,25 миллиарда долларов только за декабрь 2021 года, давайте посмотрим кто попытается сместить ее с трона:
Coinbase NFT
Делает ставку на элементы централизации как н.
Торговые площадки NFT, которые бросят вызов OpenSea в 2022
OpenSea стала ведущим рынком NFT в 2021 году с профитом 3,25 миллиарда долларов только за декабрь 2021 года, давайте посмотрим кто попытается сместить ее с трона:
Coinbase NFT
Делает ставку на элементы централизации как на основной фактор массового внедрения, по заявлениям компании будет одноранговой сетью (P2P) с интуитивно понятным дизайном- интерфейс (UX и UI), список ожидающих запуск платформы превысил 1,1 миллиона человек, это больше, чем база OpenSea
FTX NFT
В отличие от OpenSea и Coinbase NFT, это не P2P-платформа, то есть является централизованной, работает на основе Solana, но также поддерживает и коллекции на Ethereum.
Данные пользователей записываются и хранятся в конкретной сети, пользователи и коллекционеры в некотором смысле отказываются от права собственности
Rarible
Децентрализовання плафторма, поддержка NFT в блокчейнах Flow и Tezos, и в ближайшем будущем планируется поддержка Solana и Polygon, что делает его серьезным соперником в 2022 году
Zora
Нулевая комиссия, художники и создатели имеют больше автономии и права собственности на свои творения
Magic Eden
Низкая комиссия за транзакции- 2% дает платформе конкурентное преимущество, листинг бесплатный
Как создать nft маркетплейс
Пошаговое руководство по разработке NFT маркетплейса
Поскольку рынок невзаимозаменяемых токенов достигает огромного объема, полезно оглянуться на первые дни NFT и вспомнить проблемы, обнаруженные Cryptokitties.
Cryptokitties были первым примером потенциального массового внедрения NFT, созданным командой Dapper Labs. С тех пор были представлены новые рыночные платформы NFT, такие как Rarible, Sorare и OpenSea, чтобы стимулировать развитие NFT. В исследовании, опубликованном на NonFungible.com, говорится, что общая стоимость транзакций NFT в 2020 году увеличилась на 299% по сравнению с 2019 годом и превысила 250 миллионов долларов. Эксперты прогнозируют, что невзаимозаменяемые токены станут движущей силой виртуальной экономики в ближайшие 10 лет.
Что такое торговая площадка NFT?
Торговые площадки NFT будут продолжать набирать популярность в 2021 году, и NFT растут как новый класс активов в криптопространстве. Платформа NFT marketplace — это децентрализованная платформа, которая позволяет пользователям создавать, покупать, продавать и хранить невзаимозаменяемые токены.
Торговые площадки NFT ориентированы на продажу определенных активов. Например, торговая площадка Valuables NFT позволяет пользователям покупать и продавать твиты.
Нишевые торговые площадки набирают популярность, поскольку у них есть четко определенная целевая аудитория. Поэтому вам следует подумать о типе платформы, которую вы запустите, прежде чем создавать рынок NFT.
Как работает торговая площадка NFT?
- Во-первых, пользователь должен зарегистрироваться на платформе и установить цифровой кошелек для хранения NFT.
- Затем пользователи могут создавать свои активы, загружая элементы для демонстрации своей работы.
- Пользователь также может выбрать, какие платежные токены он хотел бы принять за свое искусство, и установить комиссию, если платформа предлагает это.
- Следующим шагом в рабочем процессе является составление списка выставленных на продажу товаров.
- Пользователь может выбрать ставку по фиксированной цене или аукцион.
- При выставлении объекта на продажу создается транзакция для запуска личного торгового смарт-контракта для кошелька пользователя.
- Платформе может потребоваться модерация коллекции, и NFT появятся в списке после утверждения.
Как начать разработку NFT Marketplace?
Поскольку вы знаете, как работают торговые площадки NFT и какие типы платформ представлены на рынке, вам необходимо понимать, для кого вы разрабатываете свою платформу и какие проблемы она может решить.
Вам нужно определиться со списком функций и выбрать технологические стеки и стандарты NFT для вашего рынка.
Ниже приведены некоторые функции, которые можно добавить на рынок NFT:
- Витрина (Торговая площадка NFT должна иметь витрину, которая предлагает пользователям всю информацию, необходимую для товара: ставки, владельцев, предварительный просмотр или историю цен.)
- Фильтры (Использование фильтров упрощает навигацию по сайту, особенно если вы планируете создать торговую площадку для большого количества предметов коллекционирования. Добавив функцию фильтров, пользователи могут выбирать товары по способу оплаты, статусу листинга, категории и коллекции.)
- Поиск предметов (Платформа торговой площадки NFT должна поддерживать тегирование и управление категориями, чтобы пользователи могли искать предметы коллекционирования. Используйте панель поиска на сайте и добавляйте категории.)
- Создание списков (Пользователь должен иметь возможность создавать и отправлять предметы коллекционирования. Используя эту функцию, пользователь должен загружать файлы и вводить информацию о токене, такую как имя, теги, описание.)
- Покупка и предложение (Платформа торговой площадки NFT должна иметь функцию, позволяющую пользователям покупать и предлагать ставки на NFT, перечисленные на платформе. Функция назначения ставок должна включать дату истечения срока действия ставки и позволять пользователям просматривать подробную информацию о текущем статусе ставок.)
- Кошелек (Платформа NFT Marketplace должна иметь кошелек, который позволяет пользователям хранить, отправлять и получать невзаимозаменяемые токены. Самый простой способ интегрировать эту функцию — предоставить пользователям подключенный кошелек, который они уже используют. Например, вы можете интегрировать самые популярные кошельки, такие как Coinbase, Formatic или MyEtherWallet.)
Стек технологий, необходимый для создания торговой площадки NFT
- Ethereum (Ethereum — одна из самых популярных платформ, когда дело доходит до рынка NFT или разработки невзаимозаменяемых токенов. Поскольку история транзакций и метаданные токенов доступны для публичной проверки в Ethereum, легче доказать историю владения. Поскольку все продукты Ethereum имеют общий бэкэнд, NFT становятся переносимыми между продуктами. Кроме того, Ethereum никогда не падает; следовательно, токены всегда будут доступны для продажи.)
- Flow (Flow — это быстрый и децентрализованный блокчейн, разработанный для нового поколения цифровых активов, приложений и игр. Платформа широко используется для создания как торговых площадок NFT, так и NFT с использованием языка программирования Cadence.)
- Tezos (Tezos — это блокчейн-платформа с открытым исходным кодом для приложений и ресурсов, поддерживаемая сообществом разработчиков, исследователей и валидаторов. Используя предварительно скомпилированный контракт FA2 NFT, написанный на языке смарт-контрактов LIGO, Tezos поддерживает развитие торговых площадок NFT.)
- Cardano (Cardano — это блокчейн-платформа с технологиями и инструментами, необходимыми для обеспечения непревзойденной безопасности и устойчивости децентрализованных систем и приложений. Он также поддерживает развитие NFT и других цифровых активов.)
- IPFS — это одноранговый гипермедийный протокол, предназначенный для децентрализованного хранения медиаконтента. Поскольку медиафайл, связанный с NFT, не может храниться непосредственно в цепочке блоков, IPFS может хранить все эти данные.
- Filecoin — это децентрализованная сеть хранения, разработанная специально для хранения самой важной информации, такой как медиафайлы. Платформа хранения включает в себя все, что потребуется разработчику для начала работы с децентрализованным хранилищем для NFT. Зная о своих преимуществах, Truffle Suite также запустил шаблон разработки NFT с Filecoin Box.
- Pinata также является одной из популярных платформ для загрузки файлов и управления ими в IPFS. Он предоставляет безопасные и проверяемые файлы для NFT.
- ERC-721
- ERC-1155
- FA2
- dGoods
- TRC-721
- React
- Angular
- Vue
В этой статье демонстрируется пример создания торговой площадки NFT с использованием цепочки блоков Flow и сети IPFS Pinata.
Как разработать NFT Marketplace с помощью IPFS и Flow?
Мы поделились примером создания контракта,выпуска токена, создания приложения для просмотра NFT, сделанных с помощью этого контракта, и создания торговой площадки для перемещения NFT другим пользователям.
Начнем с создания контракта и выпуска токена.
Установите Flow CLI в вашу систему.
Существуют разные команды для установки CLI в зависимости от разных операционных систем.
Например, чтобы установить Flow CLI на macOS, используйте команду:
Файлы активов будут храниться в IPFS.
В этом примере мы собираемся использовать Pinata для хранения файлов. Вы можете зарегистрировать бесплатную учетную запись и получить ключ API здесь.
Также важно установить NodeJS и текстовый редактор, чтобы выделить код смарт-контракта Flow.
Второй шаг — создать каталог для проекта с помощью команды:
Инициализируйте новый потоковый проект и поместите его в этот каталог:
Теперь откройте проект в редакторе кода и приступим к работе. Сначала создайте папку с именем cadence. Добавьте в эту папку еще одну папку с именем contracts . Наконец, создайте файл в папке контрактов с именем PinataPartyContract.cdc
Прежде чем двигаться дальше, важно указать на все, что мы делаем в отношении платформы блокчейна Flow.
Настройте файл для среды эмулятора, и тогда мы можем приступить к написанию контракта.
Нам нужно обновить объект контракта в flow.json, используя код:
Обновите объект развертывания в этом файле, используя приведенный ниже код:
Это позволит Flow CLI использовать эмулятор для развертывания нашего контракта. Этот код также ссылается на учетную запись и контракт, которые мы собираемся написать в ближайшее время.
Контракты
Нам нужно создать контракты для выпуска NFT, связывания метаданных с NFT и обеспечения того, чтобы метаданные указывали на базовые активы, хранящиеся в IPFS.
Откройте PinataPartyContract.cdc и выполните следующий код:
Первый шаг — составить контракт.
Давайте начнем с определения PinataPartyContract и создадим внутри него ресурс. Ресурсы — это элементы, сохраненные в учетных записях пользователей, которые доступны через меры контроля доступа.
NFT должны быть идентифицируемыми, а свойство id позволяет идентифицировать токены.
Затем создается интерфейс ресурсов, чтобы определить, какие возможности доступны другим.
Поместите приведенный выше код под кодом ресурса NFT. Интерфейс ресурса NFTReceiver сообщает, что ресурс может вызывать следующие методы:
Затем необходимо определить интерфейс сбора токенов. Рассматривайте его как кошелек, в котором хранятся NFT всех пользователей.
Переменная ownedNFTs отслеживает все NFT, которыми пользователь может владеть от контактора. Переменная metadataObjs уникальна, поскольку мы расширяем функциональность контракта Flow NFT, чтобы хранить отображение метаданных для каждого NFT.
Она сопоставляет идентификатор токена с соответствующими метаданными, что означает, что идентификатор токена необходим, прежде чем мы сможем его установить. Переменные инициализируются, чтобы определить их в ресурсе внутри Flow.
Наконец, у нас будут все доступные функции, необходимые для ресурса коллекции NFT. Так же, как стандартный контракт NFT был расширен для включения отображения metadataObjs, мы расширим функцию депонирования по умолчанию, чтобы она принимала дополнительный параметр метаданных.
Это сделано для того, чтобы гарантировать, что только майнер токена может добавить метаданные к токену.
Мы ограничиваем первоначальное добавление метаданных выполнением майнинга, чтобы сохранить его конфиденциальность. Добавьте следующий код ниже ресурса Collection:
Во-первых, у нас будет функция для создания пустой коллекции NFT при вызове. Пользователь, взаимодействующий с контрактом, будет иметь место хранения, которое отображает определенный ресурс Collection.
После этого мы создадим еще один ресурс. Без него мы не сможем выпускать токены. NFTMinter включает в себя idCount, который увеличивается каждый раз, чтобы у нас не было дублирующихся идентификаторов для NFT. Он также содержит функцию для создания NFT.
Добавьте инициализатор основного контракта ниже ресурса NFTMinter:
Функция инициализатора вызывается только при развертывании контракта. Она выполняет три действия:
Создает пустую коллекцию для развертывателя коллекции, чтобы контракт-владелец мог создавать и владеть NFT из контракта.
Ресурс NFTMinter хранится в хранилище счета для создателя контракта. Это означает, что только создатель контракта может выпускать токены.
Ресурс Collection публикуется в публичном месте со ссылкой на интерфейс NFTReceiver, созданный в самом начале. Так мы сообщаем контракту, что любой может вызывать функции, определенные в NFTReceiver.
Когда контракт готов, давайте развернем его. Прежде чем развернуть его:
Протестируйте его на игровой площадке Flow Playground.
Перейдите на Flow Playground и нажмите на первый аккаунт в левой боковой панели.
Замените весь код на код контракта и нажмите кнопку Развернуть.
Если все прошло успешно, вы должны увидеть журнал в нижней части экрана:
16:48:55 Deployment Deployed Contract To: 0x01
Поскольку теперь настало время развернуть контракт на локально запущенном эмуляторе, выполните следующую команду:
Запустив эмулятор и настроив файл flow.json, можно развернуть контракт с помощью следующей команды:
Если все прошло успешно, вы должны увидеть результат, подобный этому:
Deploying 1 contracts for accounts: emulator-account
Теперь перейдем к выпуску NFT.
В этом разделе мы обсудим процесс выпуска NFT с помощью приложения и пользовательского интерфейса. Для получения демонстрации того, как метаданные работают с NFT на Flow, мы будем использовать командную строку и скрипты Cadence.
Создайте новую директорию в корне нашего проекта pinata-party и назовите ее «transactions». После создания папки создайте в ней новый файл с именем MintPinataParty.cdc.
У нас должен быть файл, на который мы будем ссылаться в метаданных, предлагаемых NFT. Файл загружается в IPFS через Pinata. В этом учебном пособии NFT сфокусированы на продаваемых видеороликах о том, как Pinata разбивается на вечеринках. В этой демонстрации мы загрузим видео ребенка, разбивающего Pinata на вечеринке по случаю дня рождения. Вы можете загрузить любой медиафайл и связать его с NFT.
После загрузки файла вам будет присвоен хэш IPFS. Скопируйте хэш, так как он будет использоваться в процессе выпуска. Теперь добавьте следующий код в файл MintPinataParty.cdc.
Во-первых, мы определили две ссылочные переменные, minterRef и receiverRef. В этом сценарии мы одновременно являемся получателем и создателем NFT. Эти переменные ссылаются на ресурсы, созданные в контракте. Транзакция завершится неудачей, если лицо, выполняющее ее, не имеет доступа к ресурсу.
Приведенный выше контракт будет выпускать и депонировать НФТ. Теперь мы отправим транзакцию и зачислим NFT. Но перед этим нам нужно подготовить счет. Создайте закрытый ключ для подписи из командной строки в корневой папке проекта.
Выполните приведенную ниже команду:
Он предоставит вам открытый и закрытый ключи. Обязательно защитите свой закрытый ключ.
Закрытый ключ понадобится вам для подписания транзакции, который нужно вставить в наш файл flow.json. Также необходимо указать алгоритм подписания, и вот как должен выглядеть ваш объект счетов в файле flow.json:
Если вы хотите хранить что-либо из этого проекта в удаленном git-репозитории или на Github, вам не следует включать закрытый ключ. Вам может понадобиться .gitignore всего flow.json. Хотя мы используем только локальный эмулятор, хорошо бы держать ключи под защитой.
Последнее, что нам нужно сделать, это проверить, что токен находится в нашем аккаунте, и получить метаданные. Чтобы проверить это, нам нужно написать простой сценарий и вызвать его из командной строки.
Создайте новую папку scripts в корне вашего проекта. Создайте внутри папки файл CheckTokenMetadata.cdc. Добавьте в этот файл следующий код:
В этом сценарии мы импортируем контракт с развернутого адреса. Мы определяем главную функцию и определяем три переменные внутри нее:
- nftOwner
This account owns the NFT.
- capability
Capabilities are access-controlled. If a capability is not available to the address attempting to borrow it, the script gets failed. In this example, we borrow capabilities from the NFTReceiver resource.
- receiverRef
The variable takes our capability and states the script to borrow from the deployed contract.
Мы хотим убедиться, что адрес, о котором идет речь, получил NFT, который мы выпустили, а затем мы хотим просмотреть метаданные, связанные с токеном.
Запустите скрипт с помощью следующей команды и посмотрите, что мы получим:
Вы получите результат, подобный этому:
Наконец, вы создали смарт-контракт Flow, создали токен, связали метаданные с токеном и сохранили базовые цифровые активы токена на IPFS.
Затем мы создадим внешнее приложение React, которое позволит вам отображать NFT, получая метаданные.
Отображение предметов коллекционирования NFT
Мы будем создавать простое приложение React, которое взаимодействует со смарт-контрактами Flow для проверки и получения NFT, принадлежащих пользователям.
Настройка React и зависимостей
Создайте приложение React в родительском каталоге pinata-party. Выполните следующую команду, чтобы создать приложение React:
Когда вы закончите установку, вы увидите новый каталог с именем pinata-party-frontend. Перейдите в этот каталог и установите зависимости. Для первой части настройки внешнего интерфейса запустите:
Мы будем хранить некоторые значения как глобальные переменные для нашего приложения и использовать переменные среды. В качестве реакции это означает создание файла .env и установку пар ключ-значение, в которых вам нужно добавить префикс REACT_APP.
Затем создайте файл конфигурации, который будет использоваться для взаимодействия с Flow JS SDK. Создайте файл config.js в каталоге src и добавьте следующий код:
Этот файл конфигурации просто помогает JS SDK работать с блокчейном Flow (или в данном случае с эмулятором). Чтобы сделать этот файл доступным во всем приложении, откройте index.js файл и добавьте эту строку:
Важно иметь функцию аутентификации в приложении, чтобы обеспечить безопасную передачу активов NFT. Нам нужен компонент аутентификации. Создайте файл AuthCluster.js в каталоге src. Добавьте в этот файл следующее:
Чтобы добавить этот компонент в приложение, замените файл app.js следующим:
После добавления вышеуказанного кода вы увидите страницу с кнопкой регистрации при запуске приложения. Теперь пришло время создать возможность получать NFT для учетной записи и отображать их.
Получение NFT из FLOW
Чтобы отображать созданные нами NFT, необходимо взаимодействовать с блокчейном Flow. В этом руководстве мы должны иметь возможность общаться с эмулятором Flow.
Давайте создадим компонент, который позволяет получать данные и отображать данные NFT. Создайте файл TokenData.js в каталоге src и добавьте в него следующий код:
В этом файле мы создаем компонент с кнопкой для получения данных токена. Мы также создали кнопку для очистки данных токена. При нажатии кнопки выборки вызывается функция fetchTokenData. Функция использует Flow JS SDK для запуска скрипта, который мы выполнили из командной строки. Получение результатов выполнения и установка результатов в переменную состояния nftInfo. Если переменная существует, пары ключ-значение отображаются из метаданных NFT на экране и кнопки для очистки данных.
Получение медиа из IPFS
Поскольку мы уже зарегистрировались в учетной записи Pinata и добавили видеофайл в IPFS через интерфейс загрузки Pinata, вы попадаете на шлюз Pinata IPFS, где содержимое IPFS отображается при нажатии на хэш в проводнике контактов.
В файле TokenData.js добавьте способ отображения видеофайла, полученного из IPFS. Обновите файл, чтобы он выглядел так:
Элемент видео с источником указывает на файл в IPFS. URI, созданный с помощью NFT, выглядит как ipfs: // Qm…
Мы сделали это так, потому что настольный клиент IPFS позволяет нажимать и открывать ссылки.
Теперь NFT станет настоящим живым цифровым активом на блокчейне.
Теперь мы включим передачу NFT.
Прежде всего, нам нужно создать контракты на создание торговой площадки. Контракты будут заключаться на:
- Механизм оплаты взаимозаменяемых токенов
- Настройки подачи токенов
- Возможности передачи токенов
Давайте создадим взаимозаменяемый токен-контракт, который будет использоваться для платежей при покупке NFT.
Мы создадим взаимозаменяемый контракт токена, определив пустой контракт:
Переменные публикации токена, связанные с ресурсами токена и провайдера, необходимо добавить в контракт.
Добавьте вышеуказанный контракт в пустой контракт.
Интерфейс ресурса под названием Provider определяет общедоступную функцию, но владелец учетной записи может только вызывать ее. Затем мы определим еще два интерфейса общедоступных ресурсов:
Вышеупомянутые интерфейсы располагаются непосредственно под интерфейсом ресурсов провайдера. Интерфейс Receiver включает функцию, которую может выполнить любой. Это гарантирует, что депозиты на счет могут выполняться до тех пор, пока получатель инициализирует хранилище для обработки токенов, созданных в рамках контракта. Ресурс Balance возвращает баланс нового токена для любой предоставленной учетной записи.
Давайте создадим ресурс Vault и добавим следующий код под ресурсом Balance:
Добавьте следующую функцию в интерфейс хранилища:
Как следует из названия, функция создает пустой ресурс Vault для учетной записи. Баланс равен 0.
Следовательно, теперь нам нужно настроить возможность минтинга. Добавьте следующий код под функцией createEmptyVault:
Ресурс VaultMinter является общедоступным, но доступен только владельцу контрактной учетной записи.
Ресурс VaultMinter включает в себя только одну функцию: mintTokens, для которой требуется сумма, которую нужно монетизировать, и получатель. Вновь отчеканенные токены могут быть депонированы в эту учетную запись, если у получателя будет храниться ресурс Vault.
Переменную totalSupply необходимо обновлять при чеканке токенов. Следовательно, отчеканенная сумма добавляется к предыдущему запасу для получения нового запаса.
Теперь нам нужно инициализировать контракт и добавить следующий код после ресурса VaultMinter:
При заключении контракта важно установить общий объем поставки. В этом примере мы инициализировали контракт с поставкой 30 и установили имя токена как «Пинни».
Развертывание и выпуск токенов
Обновите файл flow.json в проекте, чтобы развернуть новый контракт. Убедитесь, что файл flow.json ссылается на новый контракт и содержит ссылку на ключ учетной записи эмулятора:
В другом окне терминала в каталоге проекта стороны пината запустите развертывание проекта потока. Теперь давайте протестируем функцию чеканки. Мы создадим транзакцию, которая позволит нам создавать токены Pinnie. Но сначала нам нужно обновить файл flow.json.
Измените json под учетной записью эмулятора:
Поле ключа становится полем privateKey, и мы добавляем свойства, включая sigAlgorithm, цепочку и hashAlgorithm.
Разработка торговой площадки NFT
Прежде чем приступить к работе над внешним интерфейсом торговой площадки, у нас должен быть контракт на создание и управление торговой площадкой.
В папке cadence / контракты создайте новый файл с именем MarketplaceContract.cdc.
Нам нужно импортировать как контракт NFT, так и контракт заменяемого токена. В определении контракта мы определили четыре события:
- ForSale: продажа NFT
- PriceChanged: изменение цены на NFT.
- TokenPurchased: при покупке NFT
- SaleWithdrawn: когда NFT удаляются с торговой площадки.
Мы добавили интерфейс ресурса под названием SalePublic под эмиттерами событий. Интерфейс должен быть общедоступным для всех, а не только для владельца контракта.
Нам нужно добавить ресурс SaleCollection под интерфейсом SalePublic. Мы определили несколько переменных в этом ресурсе. Например, отображение токенов для продажи, отображение цен на каждый токен для продажи и защищенная переменная, доступная только владельцу контракта, под названием ownerVault.
Нам нужно инициализировать переменные при их определении на ресурсе. Это выполняется в функции init и инициализируется ресурсом хранилища владельца и пустыми значениями.
Затем важно определить функции для управления действиями торговой площадки NFT. Функции:
- listForSale
- changePrice
- withdraw
- idPrice
- purchase
- destroy
- getIDs
Как упоминалось выше, три из этих функций общедоступны, это означает, что listForSale, remove, destroy и changePrice доступны только для перечисленных владельцев NFT. Например, changePrice не доступен публично, потому что мы не хотим, чтобы кто-либо менял цену NFT.
Последняя часть рыночного контракта — это функция CreateSaleCollection. Это позволяет добавить коллекцию в качестве ресурса к учетной записи. После написания этого контракта мы развернем его с учетной записью эмулятора. Выполните следующую команду из корня вашего проекта:
How to Create an NFT Marketplace
Are you interested in creating your own NFT marketplace? If this is the case, then follow along in this tutorial, as it will show you how to create a Blur NFT marketplace clone in five steps. Thanks to the enterprise-grade NFT API from Moralis, the process is extremely straightforward. With this interface, you can effortlessly get NFT data across multiple blockchain networks with single API calls. For example, here are the three endpoints used to get the data needed for this tutorial:
- getNFTTrades – Get all trades of NFTs for a provided contract:
- getContractNFTs – Get NFTs from a contract. This also includes metadata where available:
- getWalletNFTs – Get all NFTs owned by a given address:
Acquiring on-chain data has never been easier, and by familiarizing yourself with the Moralis NFT API, you can build any NFT project in a heartbeat. So, if you are serious about becoming a Web3 developer, remember to sign up with Moralis. Creating an account is free, and you can immediately start leveraging the full power of blockchain!

Overview – Create an NFT Marketplace
In the following article, we will show you how to create an NFT marketplace in the form of a Blur clone in five straightforward steps:
- Set up the project and Moralis
- Write the smart contracts
- Create the backend
- Build the frontend
- Start the application
By completing the aforementioned steps, you will be able to build your own Blur NFT marketplace clone in no time!
When creating an NFT marketplace, one of the central components is accurate and real-time NFT data. Without the proper tools, it can be cumbersome to access this information, which is where Web3 infrastructure providers like Moralis enter the equation. In fact, in this tutorial, the main reason we are able to create the Blur NFT marketplace clone is thanks to the Moralis NFT API. This interface accumulates everything needed to build great NFT apps!

Along with the industry’s fastest NFT API, Moralis also provides other excellent Web3 development resources. A great example is the Web3 blog featuring instructive blockchain development content. For example, we have a guide explaining what an OpenSea gas fee entails or an article on the best Python API for cryptocurrency.
So, if you are interested in becoming a Web3 developer, sign up with Moralis. Creating an account is free, and you can access all of the enterprise-grade Web3 APIs from Moralis in a heartbeat!
How to Create an NFT Marketplace in 5 Steps
In the following sections, we will teach you how to create an NFT marketplace in five straightforward steps. More specifically, the project you are about to create is a replica of the Blur NFT marketplace. We will use Express for the backend and create a NextJS app for the frontend. In addition, we will cover the code for two smart contracts written in the Solidity programming language.

Through the app, users can, among other things, sell, buy, and mint tokens. The NFT marketplace will also display the one-day trading volume on OpenSea and the user’s NFT portfolio. However, to better understand what you will be working towards, we kickstart this tutorial with a brief application demo!
Blur Clone Application Demo
Before showing you how to create an NFT marketplace, let us provide a quick application demo to show you what you will be working towards. Here is the app’s landing page:

As you can see, it is a relatively close replica of the Blur NFT marketplace and has much of the same functionality. To begin with, the first thing you notice is the featured collections at the bottom of the page:
It is possible to toggle between these NFT collections to, for example, view the floor price and the one-day trading volume for each:
What’s more, by scrolling down, you can also find a ”Trending” table featuring popular NFT collections:
Buying and Selling NFTs
At the top of the page, you will find a navigation bar with three tabs: ”COLLECTIONS”, ”PORTFOLIO”, and ”AIRDROP”:
By clicking on the ”PORTFOLIO” tab, you can view all the NFTs in your connected wallet. It might look something like this:
Through a closer look at the image above, you will also notice that listing an NFT for sale from this page is possible. To do so, all you need to do is provide a price and hit the ”LIST FOR SALE” button:
Clicking on this button prompts your Web3 wallet, allowing you to confirm the transaction:
When the transaction finalizes, the NFT is sent to a smart contract and is removed from your wallet:
If we go back to the main page and select ”MORALIS MAGE” from the ”Trending” table, we can see that there are two NFTs for sale:
If you click on any listed item, it will again prompt your wallet, enabling you to purchase the NFT:
When the transaction is processed, the NFT has automatically been added to your portfolio once again:
That is it for this demo! If you find this exciting and want to create your own NFT marketplace as a Blur clone, join us as we show you how to set up the project and Moralis in the first step!
Step 1: Set Up the Project and Moralis
To begin with, the first thing you need to do is set up a new project directory. To do so, open a new terminal and run the following command:
From there, cd into the project directory and create the backend folder by running this terminal input:
You can then cd into the backend folder and initialize it using the command below:
From there, install the required dependencies with this terminal command:
Next, cd back to the root folder and create the frontend, which will be a NextJS application. As such, run the following command:
Name the project ”frontend” and select ”no” for all the terminal prompts that appear:
You can now open the project folder in your preferred integrated development environment. It should look something like this:

From here, you also need to set up Moralis. If you want to test the waters, you are perfectly fine using the ”Starter” plan for this tutorial. However, if you are serious about taking your projects to the next level, then we recommend you check out either of the ”Pro”, ”Business”, or ”Enterprise” plans:

Nevertheless, once you have an account, you can log in and navigate to the Web3 APIs tab. This is where you can find your Moralis API key, which you can copy and save for now, as you will need it in a short while:

Step 2: Write the Smart Contracts
Now that you are done setting up the barebones state of the project, we will continue by covering the smart contract code. For this NFT marketplace, we will need two contracts: ”NFT.sol” and ”NFTMarketplace.sol”.
To write these contracts, we will be using Remix and Solidity. The first contract is for creating an NFT; meanwhile, the second contract handles the logic for the NFT marketplace itself. So, let us take a closer look at the code for each, starting with the former.
- ”NFT.sol” – This contract is pretty straightforward, and you can find the entirety of the code down below:
Here, we have the mintNFT() function that takes the recipient address and token URI as arguments. From there, the contract calls the _mint() and _setTokenURI() functions while passing the recipient , newItemId , and tokenURI as parameters.
- ”NFTMarketplace.sol” – This contract is a bit more complex, but you can find all of the code in the snippet below:
The contract handles the functionality for listing, selling, and purchasing NFTs. It has the following three functions: createMarketItem() , createMarketSale() , and fetchMarketItems() .
The first function is responsible for creating a new market item using the NFT contract, token ID, and price. The second function creates a new market sale. The last function returns the items that are currently on sale.
Now that you are familiar with this tutorial’s smart contracts, you must add them to the frontend folder. As such, create a new ”contracts” folder with an ”index.js” file. From there, you can add the contracts by inputting the following:
For more information on smart contract development, check out our article on tools and best practices for smart contract security!
Step 3: Create the Backend
For the backend code, you can start by opening the ”packages.json” file and adding a new start script. It should now look something like this:
Next, create a ”.env” file in the backend folder and add your Moralis API key as an environment variable:
From there, set up an ”index.js” file. At the top of this file, you must add the dependencies and libraries we installed earlier. It should look something like this:
Next, we have three get endpoints using the Moralis NFT API to get blockchain data. The first one is called /getnftdata ; when called, it fetches NFT data using the Moralis getNFTTrades endpoint. The response is saved, returned, and handled on the app’s frontend. This is what the endpoint looks like:
The second endpoint is called /getcontractnft , and it leverages the getContractNFTs endpoint to fetch all NFTs based on a given contract address that was initially taken from the frontend:
Lastly, the final /getnfts endpoint fetches all NFTs owned by a wallet using the Moralis getWalletNFTs endpoint:
Finally, below the three endpoints, we call the Moralis.start() function to initialize Moralis and start listening to the server at port 5001:
That illustrates how easy it is to get blockchain data when working with the Moralis NFT API!
Also, that is it for the backend and is how you get all the on-chain data needed to create an NFT marketplace. From here, let us take a closer look at the frontend code in the fourth step to see how we handle the responses from these endpoints!
Step 4: Build the Frontend
For the frontend, the first thing you need to do is install the required dependencies. As such, open a new terminal, cd into the frontend folder, and run the following command:
Since there are quite a few frontend components you need to create, we will hand you over to our expert. In the Moralis YouTube video below, one of our talented software engineers walks you through building the Blur NFT marketplace clone from start to finish.
So far, we have covered the initial setup of the project, the smart contract code, and the backend. The breakdown of the frontend code starts at around 17:05, but we provide a list with timestamps if you struggled at any point in the previous steps or have any questions:
- Application Demo (00:00)
- Project Setup (4:06)
- Smart Contracts (6:00)
- Backend Code (9:50)
- Frontend Code (17:05)
What’s more, if you want to check out the entire code, you can find the GitHub repository for the project below:
Step 5: Start the Application
Once you are done adding the code for all the frontend components, all that remains from here is launching the applications. As such, open a new terminal in your IDE and run the development server with either of the following commands:
From there, you should be able to open the application in your browser using the following URL: “http://localhost:3000“.
Now that’s it! Congratulations, you have just created your own NFT marketplace in no time!
Summary – How to Create an NFT Marketplace
In today’s tutorial, we taught you how to create an NFT marketplace in five steps:
- Set up the project and Moralis
- Write the smart contracts
- Create the backend
- Build the frontend
- Start the application
As such, if you have followed along this far, you now know how to create your own NFT marketplace in no time!
If you liked this tutorial, you can find similar guides here on the Web3 blog. For instance, explore Web3 marketplace development further or learn how to create a blockchain explorer.
In addition to amazing development content, Moralis also provides other blockchain resources that can aid in your programming endeavors. In this tutorial, to test our NFT marketplace, we utilized a testnet, and to get tokens for this network, we used a Goerli faucet. You can also build on other chains, like Polygon, with tools like a MATIC faucet!
So, if you want to continue building sophisticated Web3 projects, make sure to sign up with Moralis. By registering, you can instantly leverage the power of the Web3 industry to build dapps smarter and more efficiently!