---
title: "Cardano NFT-маркетплейс"
date: 2023-08-23
description: "Одними из первых протестировали Plutus - среду для написания смарт-контрактов на Cardano. Сделали дизайн и разработали с нуля первый NFT-маркетплейс."
author: "Mikhail Dashkevich"
intro_image: "https://metalamp.ru/images/cases/cardano.png"
categories:
  - name: "Cases"
    url: "https://metalamp.ru/cases.md"
---

# Cardano NFT-маркетплейс

![Cardano NFT-маркетплейс](https://metalamp.ru/images/cases/cardano.png)

# Cardano NFT-маркетплейс

 
## В партнёрстве с IOHK

 [Перейти ко всем кейсам](https://metalamp.ru/cases)

 stateTransitionCheck :: MarketplaceDatum -> MarketplaceRedeemer ->   
  ScriptContext -> Bool  
stateTransitionCheck nftStore (CreateNftRedeemer ipfsCidHash nftEntry)   
  ctx =   
    traceIfFalse "CreateNftRedeemer: " $   
    traceIfFalse "NFT entry already exists" $  
    isNothing $ AssocMap.lookup ipfsCidHash $ nftUnion nftStore  
‍  
[github.com...](https://github.com/input-output-hk/plutus-use-cases/)

 Мы спроектировали и разработали первый NFT-маркетплейс на Cardano.

 Главной нашей целью было тестирование платформы Plutus — среды для написания смарт-контрактов на блокчейне Cardano.

 
## Команда проекта

 ![](https://metalamp.ru/images/nft-markeplace/project-team/olga.png) [Ольга](https://github.com/olgaklimenko) [![](https://metalamp.ru/images/nft-markeplace/project-team/github-logo.svg)](https://github.com/olgaklimenko)

 Инженер Plutus

 ![](https://metalamp.ru/images/nft-markeplace/project-team/dasha.png) [Дарья](https://www.linkedin.com/in/darya-trifonova-762468189/) [![](https://metalamp.ru/images/nft-markeplace/project-team/in-logo.svg)](https://www.linkedin.com/in/darya-trifonova-762468189/)

 Менеджер проекта

 ![](https://metalamp.ru/images/nft-markeplace/project-team/stas.png) [Станислав](https://github.com/stanislav-az) [![](https://metalamp.ru/images/nft-markeplace/project-team/github-logo.svg)](https://github.com/stanislav-az)

 Инженер Plutus

 
## Использованные   
 технологии

 
- ![](https://metalamp.ru/images/nft-markeplace/technology/haskell.svg) 
### haskell
- ![](https://metalamp.ru/images/nft-markeplace/technology/purescript.svg) 
### purescript
- ![](https://metalamp.ru/images/nft-markeplace/technology/nix-os.svg) 
### nix-os
- ![](https://metalamp.ru/images/nft-markeplace/technology/docker.svg) 
### docker

 
## Workflow   
Workflow   
Workflow

 
- ### Требования

 Мы получили технические требования от IOHK и разбили их на небольшие задачи, чтобы оценить примерный бюджет и сроки.
- ### Процесс

 Решили работать по модели Time and Material из-за высокого уровня неопределённости. Платформу Plutus нужно было тестировать, поэтому риск непредвиденных проблем был реальным.
- ### Коммуникация

 Наши разработчики продуктивно сотрудничали с командой IOHK. Мы принимали участие в Cardano Summit, ежемесячных обновлениях и технических презентациях.

 ![](https://metalamp.ru/images/nft-markeplace/project-team/dasha-pixel.svg) Дарья

 Менеджер проекта

 Помню, в каком восторге была команда, когда мы начали этот проект: это был шанс углубить наши знания о блокчейне Cardano, попробовать протокол IPFS и завернуть всё это в красивый интерфейс. Я горжусь тем, что стала частью этого проекта!

 
## Особенности проекта

 Приложение работает как классический маркетплейс для NFT

  Пользователи могут:

 
- Создавать свои невзаимозаменяемые токены
- Объединять карточки (токены) в коллекции (бандлы)
- Проводить аукционы
- Устанавливать цены и сроки аукционов
- Загружать изображения, а также видео- и аудиофайлы

 
## Платформа монетизируется за счет комиссий от продажи NFT и аукционов.

 [Есть похожий проект?](#modal_for_form_with_textarea)

 ![](https://metalamp.ru/images/nft-markeplace/project-team/stas-pixel.svg) Станислав

 Инженер Plutus

 Каждое создание NFT происходит в два этапа: сначала загружаются связанные метаданные (это может быть любой файл, например, изображение) в хранилище, затем создается токен, который попадает в криптокошелёк создателя. Первый этап требует очень важного свойства — адресуемости контента, что обеспечивается протоколом IPFS: каждый файл получает уникальный идентификатор контента (Content ID). Основная задача смарт-контракта маркетплейса — обеспечить однозначную связь между токеном в кошельке пользователя и этим идентификатором контента. Приложение NFT-маркетплейса также предоставляет пользователю возможность выставлять NFT на продажу или аукцион, объединять их в коллекции, обеспечивая приватность ссылок на идентификаторы контента для не выставленных на продажу NFT.

 
## Почему IOHK  
 выбрали нас

 ![](https://metalamp.ru/images/nft-markeplace/logo-iohk-color.svg) Инфраструктура для смарт-контрактов Cardano была написана на Haskell, а наша команда имеет опыт работы с Haskell с 2018 года.

 Это стало основной причиной, по которой IOHK обратились к нам.

 Наших опытных разработчиков на Haskell увлекают такие сложные и интересные задачи с их постоянными вызовами. Нам пришлось пройти партнёрскую вводную программу для освоения платформы Plutus, принять участие в исследовании различных решений вместе с командой заказчика, а также поработать над уникальными решениями — создать собственное децентрализованное приложение на Cardano.

 
## Опыт, который мы получили   
после этого проекта

 
- ![](https://metalamp.ru/images/nft-markeplace/experience/developing-man.svg) 
### Разработка децентрализованных приложений на Cardano (на платформе Plutus)
- ![](https://metalamp.ru/images/nft-markeplace/experience/testing-man.svg) 
### Тестирование и запуск приложений в тестовой сети Cardano
- ![](https://metalamp.ru/images/nft-markeplace/experience/working-together.svg) 
### Совместная работа с международным сообществом Haskell и обмен опытом с другими инженерами


## Custom Fields

**Description:** Спроектировали и разработали совместно с IOHK децентрализованное приложение на платформе Plutus. Созданный DApp – это один из первых NFT-маркетплейсов на Cardano.

**Filters:** nft

**Service tags:** outsourcing

**Service tags:** ux_ui

**Service tags:** smart_contracts

**Technology tags:** haskell_plutus

**Factoid for slider #1 _______________________________ (to enlarge a part of the text, use italics):** 7 000 000 ₽ стоимость разработки

**Factoid for slider #2 _______________________________ (to enlarge a part of the text, use italics):** 5 месяцев период разработки

