Маркетплейс nft что это такое
Перейти к содержимому

Маркетплейс nft что это такое

  • автор:

NFT Marketplace – как это работает?

NFT индустрия становится все популярнее. Крипто-искусство – теперь отдельное направление, а гейминг – не просто развлечение, а способ заработка.

201 открытие

NFT – non-fungible token, что означает невзаимозаменяемый токен. По сути это право на уникальный цифровой объект, который можно продать, как оригинал. И владельцем может быть только один человек – покупатель.

Маркетплейс – это площадка для продажи этого самого цифрового искусства.

Начиная с 2020 года рынок NFT продолжает активно расти, и это только начало. По прогнозам экспертов, в 2023 году эту нишу ждёт глобальный прорыв!

Протестировать маркетплейс и воспользоваться всеми его возможностями можно на блокчейн-платформе The Key, экосистема которой включает:

Маркетплейс nft что это такое

BlockChainDev

Подпишитесь на наш телеграм

Пошаговое руководство по разработке NFT маркетплейса

Ожидается, что рынок NFT будет стремительно расти, и развитие рынка 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

В этой статье демонстрируется пример создания торговой площадки NFT с использованием цепочки блоков Flow и сети IPFS Pinata.

Как разработать NFT Marketplace с помощью IPFS и Flow?

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

Начнем с создания контракта и выпуска токена.

Установите Flow CLI в вашу систему.

Существуют разные команды для установки CLI в зависимости от разных операционных систем.

Например, чтобы установить Flow CLI на macOS, используйте команду:

 brew install flow-cli 
 href="https://storage.googleapis.com/flow-cli/install.ps1" rel= https://storage.googleapis.com/flow-cli/install.ps1') > 
 href="https://storage.googleapis.com/flow-cli/install.sh" rel=>https://storage.googleapis.com/flow-cli/install.sh) 

Файлы активов будут храниться в IPFS.

В этом примере мы собираемся использовать Pinata для хранения файлов. Вы можете зарегистрировать бесплатную учетную запись и получить ключ API здесь.

Также важно установить NodeJS и текстовый редактор, чтобы выделить код смарт-контракта Flow.

Второй шаг — создать каталог для проекта с помощью команды:

 mkdir pinata-party 

Инициализируйте новый потоковый проект и поместите его в этот каталог:

 cd pinata-party flow project init 

Теперь откройте проект в редакторе кода и приступим к работе. Сначала создайте папку с именем cadence. Добавьте в эту папку еще одну папку с именем contracts . Наконец, создайте файл в папке контрактов с именем PinataPartyContract.cdc

Прежде чем двигаться дальше, важно указать на все, что мы делаем в отношении платформы блокчейна Flow.

Настройте файл для среды эмулятора, и тогда мы можем приступить к написанию контракта.

Нам нужно обновить объект контракта в flow.json, используя код:

 contracts": < "PinataPartyContract": "./cadence/contracts/PinataPartyContract.cdc" >

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

 deployments": < "emulator": < "emulator-account": ["PinataPartyContract"] >> 

Это позволит Flow CLI использовать эмулятор для развертывания нашего контракта. Этот код также ссылается на учетную запись и контракт, которые мы собираемся написать в ближайшее время.

Контракты

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

Откройте PinataPartyContract.cdc и выполните следующий код:

 pub contract PinataPartyContract < pub resource NFT < pub let id: UInt64 init(initID: UInt64) < self.id = initID >> > 

Первый шаг — составить контракт.

Давайте начнем с определения PinataPartyContract и создадим внутри него ресурс. Ресурсы — это элементы, сохраненные в учетных записях пользователей, которые доступны через меры контроля доступа.

NFT должны быть идентифицируемыми, а свойство id позволяет идентифицировать токены.

Затем создается интерфейс ресурсов, чтобы определить, какие возможности доступны другим.

 pub resource interface NFTReceiver < pub fun deposit(token: @NFT, metadata: ) pub fun getIDs(): [UInt64] pub fun idExists(id: UInt64): Bool pub fun getMetadata(id: UInt64) : > 

Поместите приведенный выше код под кодом ресурса NFT. Интерфейс ресурса NFTReceiver сообщает, что ресурс может вызывать следующие методы:

 getIDs idExists deposit getMetadata 

Затем необходимо определить интерфейс сбора токенов. Рассматривайте его как кошелек, в котором хранятся NFT всех пользователей.

 pub resource Collection: NFTReceiver < pub var ownedNFTs: @pub var metadataObjs: > init () < self.ownedNFTs self.metadataObjs = <> > pub fun withdraw(withdrawID: UInt64): @NFT < let token pub fun deposit(token: @NFT, metadata: ) < self.metadataObjs[token.id] = metadata self.ownedNFTs[token.id] pub fun idExists(id: UInt64): Bool < return self.ownedNFTs[id] != nil >pub fun getIDs(): [UInt64] < return self.ownedNFTs.keys >pub fun updateMetadata(id: UInt64, metadata: ) < self.metadataObjs[id] = metadata >pub fun getMetadata(id: UInt64):  < return self.metadataObjs[id]! >destroy() < destroy self.ownedNFTs >> 

Переменная ownedNFTs отслеживает все NFT, которыми пользователь может владеть от контактора. Переменная metadataObjs уникальна, поскольку мы расширяем функциональность контракта Flow NFT, чтобы хранить отображение метаданных для каждого NFT.

Она сопоставляет идентификатор токена с соответствующими метаданными, что означает, что идентификатор токена необходим, прежде чем мы сможем его установить. Переменные инициализируются, чтобы определить их в ресурсе внутри Flow.

Наконец, у нас будут все доступные функции, необходимые для ресурса коллекции NFT. Так же, как стандартный контракт NFT был расширен для включения отображения metadataObjs, мы расширим функцию депонирования по умолчанию, чтобы она принимала дополнительный параметр метаданных.

Это сделано для того, чтобы гарантировать, что только майнер токена может добавить метаданные к токену.

Мы ограничиваем первоначальное добавление метаданных выполнением майнинга, чтобы сохранить его конфиденциальность. Добавьте следующий код ниже ресурса Collection:

 pub fun createEmptyCollection(): @Collection < return pub resource NFTMinter < pub var idCount: UInt64 init() < self.idCount = 1 >pub fun mintNFT(): @NFT < var newNFT > 

Во-первых, у нас будет функция для создания пустой коллекции NFT при вызове. Пользователь, взаимодействующий с контрактом, будет иметь место хранения, которое отображает определенный ресурс Collection.

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

Добавьте инициализатор основного контракта ниже ресурса NFTMinter:

 init() < self.account.save(>(/public/NFTReceiver,target:/storage/NFTCollection) self.account.save( 

Функция инициализатора вызывается только при развертывании контракта. Она выполняет три действия:

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

Ресурс NFTMinter хранится в хранилище счета для создателя контракта. Это означает, что только создатель контракта может выпускать токены.

Ресурс Collection публикуется в публичном месте со ссылкой на интерфейс NFTReceiver, созданный в самом начале. Так мы сообщаем контракту, что любой может вызывать функции, определенные в NFTReceiver.

Когда контракт готов, давайте развернем его. Прежде чем развернуть его:

Протестируйте его на игровой площадке Flow Playground.

Перейдите на Flow Playground и нажмите на первый аккаунт в левой боковой панели.

Замените весь код на код контракта и нажмите кнопку Развернуть.

Если все прошло успешно, вы должны увидеть журнал в нижней части экрана:

16:48:55 Deployment Deployed Contract To: 0x01

Поскольку теперь настало время развернуть контракт на локально запущенном эмуляторе, выполните следующую команду:

 

flow project start-emulator

Запустив эмулятор и настроив файл flow.json, можно развернуть контракт с помощью следующей команды:

 

flow project deploy

Если все прошло успешно, вы должны увидеть результат, подобный этому:

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.

 import PinataPartyContract from 0xf8d6e0586b0a20c7 transaction < let receiverRef: &let minterRef: &PinataPartyContract.NFTMinter prepare(acct: AuthAccount) < self.receiverRef=acct.getCapability<&>(/public/NFTReceiver) .borrow() ?? panic("Could not borrow receiver reference") self.minterRef = acct.borrow(from: /storage/NFTMinter) ?? panic("could not borrow minter reference") > execute < let metadata : = < "name": "The Big Swing", "swing_velocity": "29", "swing_angle": "45", "rating": "5", "uri": "ipfs://QmRZdc3mAMXpv6Akz9Ekp1y4vDSjazTx2dCQRkxVy1yUj6" >let newNFT > 

Во-первых, мы определили две ссылочные переменные, minterRef и receiverRef. В этом сценарии мы одновременно являемся получателем и создателем NFT. Эти переменные ссылаются на ресурсы, созданные в контракте. Транзакция завершится неудачей, если лицо, выполняющее ее, не имеет доступа к ресурсу.

Приведенный выше контракт будет выпускать и депонировать НФТ. Теперь мы отправим транзакцию и зачислим NFT. Но перед этим нам нужно подготовить счет. Создайте закрытый ключ для подписи из командной строки в корневой папке проекта.

Выполните приведенную ниже команду:

 flow keys generate 

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

Закрытый ключ понадобится вам для подписания транзакции, который нужно вставить в наш файл flow.json. Также необходимо указать алгоритм подписания, и вот как должен выглядеть ваш объект счетов в файле flow.json:

 "accounts": < "emulator-account": < "address": "YOUR ACCOUNT ADDRESS", "privateKey": "YOUR PRIVATE KEY", "chain": "flow-emulator", "sigAlgorithm": "ECDSA_P256", "hashAlgorithm": "SHA3_256" >>, 

Если вы хотите хранить что-либо из этого проекта в удаленном git-репозитории или на Github, вам не следует включать закрытый ключ. Вам может понадобиться .gitignore всего flow.json. Хотя мы используем только локальный эмулятор, хорошо бы держать ключи под защитой.

Последнее, что нам нужно сделать, это проверить, что токен находится в нашем аккаунте, и получить метаданные. Чтобы проверить это, нам нужно написать простой сценарий и вызвать его из командной строки.

Создайте новую папку scripts в корне вашего проекта. Создайте внутри папки файл CheckTokenMetadata.cdc. Добавьте в этот файл следующий код:

 

import PinataPartyContract from 0xf8d6e0586b0a20c7

pub fun main() :

let nftOwner = getAccount(0xf8d6e0586b0a20c7) // log("NFT Owner")

let capability = nftOwner.getCapability<&>(/public/NFTReceiver)

let receiverRef = capability.borrow()

?? panic("Could not borrow the receiver reference")

return

receiverRef.getMetadata(id: 1)

>

В этом сценарии мы импортируем контракт с развернутого адреса. Мы определяем главную функцию и определяем три переменные внутри нее:

This account owns the NFT.

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.

The variable takes our capability and states the script to borrow from the deployed contract.

Мы хотим убедиться, что адрес, о котором идет речь, получил NFT, который мы выпустили, а затем мы хотим просмотреть метаданные, связанные с токеном.

Запустите скрипт с помощью следующей команды и посмотрите, что мы получим:

 

flow scripts execute ./scripts/CheckTokenMetadata.cdc

Вы получите результат, подобный этому:

Наконец, вы создали смарт-контракт Flow, создали токен, связали метаданные с токеном и сохранили базовые цифровые активы токена на IPFS.

Затем мы создадим внешнее приложение React, которое позволит вам отображать NFT, получая метаданные.

Отображение предметов коллекционирования NFT

Мы будем создавать простое приложение React, которое взаимодействует со смарт-контрактами Flow для проверки и получения NFT, принадлежащих пользователям.

Настройка React и зависимостей

Создайте приложение React в родительском каталоге pinata-party. Выполните следующую команду, чтобы создать приложение React:

 npx create-react-app pinata-party-frontend 

Когда вы закончите установку, вы увидите новый каталог с именем pinata-party-frontend. Перейдите в этот каталог и установите зависимости. Для первой части настройки внешнего интерфейса запустите:

 npm i @onflow/fcl @onflow/types 

Мы будем хранить некоторые значения как глобальные переменные для нашего приложения и использовать переменные среды. В качестве реакции это означает создание файла .env и установку пар ключ-значение, в которых вам нужно добавить префикс REACT_APP.

Затем создайте файл конфигурации, который будет использоваться для взаимодействия с Flow JS SDK. Создайте файл config.js в каталоге src и добавьте следующий код:

 import from "@onflow/fcl" config() .put("accessNode.api", process.env.REACT_APP_ACCESS_NODE) .put("challenge.handshake", process.env.REACT_APP_WALLET_DISCOVERY) .put("0xProfile", process.env.REACT_APP_CONTRACT_PROFILE) 

Этот файл конфигурации просто помогает JS SDK работать с блокчейном Flow (или в данном случае с эмулятором). Чтобы сделать этот файл доступным во всем приложении, откройте index.js файл и добавьте эту строку:

 class="ji jj fe jk b gc jl jm jn gf jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ew ce">import "./config" 

Важно иметь функцию аутентификации в приложении, чтобы обеспечить безопасную передачу активов NFT. Нам нужен компонент аутентификации. Создайте файл AuthCluster.js в каталоге src. Добавьте в этот файл следующее:

 import React, from 'react' import * as fcl from "@onflow/fcl" const AuthCluster = () => < const [user, setUser] = useState() useEffect(() => fcl.currentUser().subscribe(setUser), []) if (user.loggedIn) < return ( <div> <span></span> 

<button className="btn-primary" onClick=>Log Out</button>

</div> ) > else < return ( <div>

<button className="btn-primary"onClick=>Log In</button>

<button className="btn-secondary" onClick=>Sign Up</button>

</div> ) > > export default AuthCluster

Чтобы добавить этот компонент в приложение, замените файл app.js следующим:

  import './App.css'; import AuthCluster from './AuthCluster';function App() < return ( <div className="App"> <AuthCluster /> </div> ); >export default App; 

После добавления вышеуказанного кода вы увидите страницу с кнопкой регистрации при запуске приложения. Теперь пришло время создать возможность получать NFT для учетной записи и отображать их.

Получение NFT из FLOW

Чтобы отображать созданные нами NFT, необходимо взаимодействовать с блокчейном Flow. В этом руководстве мы должны иметь возможность общаться с эмулятором Flow.

Давайте создадим компонент, который позволяет получать данные и отображать данные NFT. Создайте файл TokenData.js в каталоге src и добавьте в него следующий код:

 import React, < useState >from "react"; import * as fcl from "@onflow/fcl"; const TokenData = () => < const [nftInfo, setNftInfo] = useState(null) const fetchTokenData = async () => < const encoded = await fcl .send([ fcl.script` import PinataPartyContract from 0xf8d6e0586b0a20c7 pub fun main() : < let nftOwner = getAccount(0xf8d6e0586b0a20c7) 

let capability = nftOwner.getCapability<&>(/public/NFTReceiver) let receiverRef = capability.borrow() ?? panic("Could not borrow the receiver reference") return receiverRef.getMetadata(id: 1) >` ]) const decoded = await fcl.decode(encoded) setNftInfo(decoded) >; return ( <div className="token-data"> <div className="center"> <button className="btn-primary" onClick=>Fetch Token Data</button> </div> < nftInfo && <div> < Object.keys(nftInfo).map(k => < return ( <p>: </p> ) >) >

<button onClick= className="btn-secondary">Clear Token Info</button>

</div> > </div> ); >; export default TokenData;

В этом файле мы создаем компонент с кнопкой для получения данных токена. Мы также создали кнопку для очистки данных токена. При нажатии кнопки выборки вызывается функция fetchTokenData. Функция использует Flow JS SDK для запуска скрипта, который мы выполнили из командной строки. Получение результатов выполнения и установка результатов в переменную состояния nftInfo. Если переменная существует, пары ключ-значение отображаются из метаданных NFT на экране и кнопки для очистки данных.

Получение медиа из IPFS

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

В файле TokenData.js добавьте способ отображения видеофайла, полученного из IPFS. Обновите файл, чтобы он выглядел так:

 import React, < useState >from "react"; import * as fcl from "@onflow/fcl"; const TokenData = () => < const [nftInfo, setNftInfo] = useState(null) const fetchTokenData = async () => < const encoded = await fcl .send([ fcl.script` import PinataPartyContract from 0xf8d6e0586b0a20c7 pub fun main() : < let nftOwner = getAccount(0xf8d6e0586b0a20c7) 

let capability = nftOwner.getCapability<&>(/public/NFTReceiver)

let receiverRef = capability.borrow() ?? panic("Could not borrow the receiver reference") return receiverRef.getMetadata(id: 1) > ]) const decoded = await fcl.decode(encoded) setNftInfo(decoded) >; return ( <div className="token-data"> <div className="center"> <button className="btn-primary" onClick=>Fetch Token Data</button> </div> < nftInfo && <div> < Object.keys(nftInfo).map(k => < return ( <p>: </p> ) >) > <div className="center video"> <video canplaythrough controls width="85%">

<source src=`> type="video/mp4" />

</video> <div>

<button onClick= className="btn-secondary">Clear Token Info</button>

</div> </div> </div> > </div> ); >; export default TokenData;

Элемент видео с источником указывает на файл в IPFS. URI, созданный с помощью NFT, выглядит как ipfs: // Qm…

Мы сделали это так, потому что настольный клиент IPFS позволяет нажимать и открывать ссылки.

Теперь NFT станет настоящим живым цифровым активом на блокчейне.

Теперь мы включим передачу NFT.

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

  • Механизм оплаты взаимозаменяемых токенов
  • Настройки подачи токенов
  • Возможности передачи токенов

Давайте создадим взаимозаменяемый токен-контракт, который будет использоваться для платежей при покупке NFT.

Мы создадим взаимозаменяемый контракт токена, определив пустой контракт:

 class="hh hi hj hk hl ln lo by">pub contract PinnieToken > 

Переменные публикации токена, связанные с ресурсами токена и провайдера, необходимо добавить в контракт.

 pub var totalSupply: UFix64 pub var tokenName: String pub resource interface Provider < pub fun withdraw(amount: UFix64): @Vault < post < result.balance == UFix64(amount): "Withdrawal amount must be the same as the balance of the withdrawn Vault" >> > 

Добавьте вышеуказанный контракт в пустой контракт.

Интерфейс ресурса под названием Provider определяет общедоступную функцию, но владелец учетной записи может только вызывать ее. Затем мы определим еще два интерфейса общедоступных ресурсов:

 pub resource interface Receiver < pub fun deposit(from: @Vault) >pub resource interface Balance

Вышеупомянутые интерфейсы располагаются непосредственно под интерфейсом ресурсов провайдера. Интерфейс Receiver включает функцию, которую может выполнить любой. Это гарантирует, что депозиты на счет могут выполняться до тех пор, пока получатель инициализирует хранилище для обработки токенов, созданных в рамках контракта. Ресурс Balance возвращает баланс нового токена для любой предоставленной учетной записи.

Давайте создадим ресурс Vault и добавим следующий код под ресурсом Balance:

 pub resource Vault: Provider, Receiver, Balance < pub var balance: UFix64 init(balance: UFix64) < self.balance = balance >pub fun withdraw(amount: UFix64): @Vault < self.balance = self.balance - amount return pub fun deposit(from: @Vault) < self.balance = self.balance + from.balance destroy from >> 

Добавьте следующую функцию в интерфейс хранилища:

 pub fun createEmptyVault(): @Vault

Как следует из названия, функция создает пустой ресурс Vault для учетной записи. Баланс равен 0.

Следовательно, теперь нам нужно настроить возможность минтинга. Добавьте следующий код под функцией createEmptyVault:

 pub resource VaultMinter < style="text-align: left;">pub fun mintTokens(amount: UFix64, recipient: Capability<&AnyResource>) < let recipientRef = recipient.borrow() ?? panic("Could not borrow a receiver reference to the vault") PinnieToken.totalSupply = PinnieToken.totalSupply + UFix64(amount) recipientRef.deposit(from: <-create Vault(balance: amount)) >> 

Ресурс VaultMinter является общедоступным, но доступен только владельцу контрактной учетной записи.

Ресурс VaultMinter включает в себя только одну функцию: mintTokens, для которой требуется сумма, которую нужно монетизировать, и получатель. Вновь отчеканенные токены могут быть депонированы в эту учетную запись, если у получателя будет храниться ресурс Vault.

Переменную totalSupply необходимо обновлять при чеканке токенов. Следовательно, отчеканенная сумма добавляется к предыдущему запасу для получения нового запаса.

Теперь нам нужно инициализировать контракт и добавить следующий код после ресурса VaultMinter:

 init() < self.totalSupply = 30.0 self.tokenName = "Pinnie" let vault <- create Vault(balance: self.totalSupply) self.account.save(<-vault, to: /storage/MainVault) self.account.save(<-create VaultMinter(), to: /storage/MainMinter) style="text-align: left;">self.account.link<&VaultMinter>(/private/Minter, target: /storage/MainMinter) > 

При заключении контракта важно установить общий объем поставки. В этом примере мы инициализировали контракт с поставкой 30 и установили имя токена как «Пинни».

Развертывание и выпуск токенов

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

  < "emulators": < "default": < "port": 3569, "serviceAccount": "emulator-account" >>, "contracts": < "PinataPartyContract": "./cadence/contracts/PinataPartyContract.cdc", "PinnieToken": "./cadence/contracts/PinnieToken.cdc" >, "networks": < "emulator": < "host": "127.0.0.1:3569", "chain": "flow-emulator" >>, "accounts": < "emulator-account": < "address": "f8d6e0586b0a20c7", "keys": "e5ca2b0946358223f0555206144fe4d74e65cbd58b0933c5232ce195b9058cdd" >>, "deployments": < "emulator": < "emulator-account": ["PinataPartyContract", "PinnieToken"] >> > 

В другом окне терминала в каталоге проекта стороны пината запустите развертывание проекта потока. Теперь давайте протестируем функцию чеканки. Мы создадим транзакцию, которая позволит нам создавать токены Pinnie. Но сначала нам нужно обновить файл flow.json.

Измените json под учетной записью эмулятора:

 style="text-align: left;">"emulator-account": < "address": "f8d6e0586b0a20c7", "privateKey": "e5ca2b0946358223f0555206144fe4d74e65cbd58b0933c5232ce195b9058cdd", "sigAlgorithm": "ECDSA_P256", "hashAlgorithm": "SHA3_256", "chain": "flow-emulator" >, 

Поле ключа становится полем privateKey, и мы добавляем свойства, включая sigAlgorithm, цепочку и hashAlgorithm.

Разработка торговой площадки NFT

Прежде чем приступить к работе над внешним интерфейсом торговой площадки, у нас должен быть контракт на создание и управление торговой площадкой.

В папке cadence / контракты создайте новый файл с именем MarketplaceContract.cdc.

 import PinataPartyContract from 0xf8d6e0586b0a20c7 import PinnieToken from 0xf8d6e0586b0a20c7 pub contract MarketplaceContract < pub event ForSale(id: UInt64, price: UFix64) pub event PriceChanged(id: UInt64, newPrice: UFix64) pub event TokenPurchased(id: UInt64, price: UFix64) pub event SaleWithdrawn(id: UInt64) pub resource interface SalePublic < style="text-align: left;">pub fun purchase(tokenID: UInt64, recipient: &AnyResource, buyTokens: @PinnieToken.Vault) pub fun idPrice(tokenID: UInt64): UFix64? pub fun getIDs(): [UInt64] > > 

Нам нужно импортировать как контракт 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. Это позволяет добавить коллекцию в качестве ресурса к учетной записи. После написания этого контракта мы развернем его с учетной записью эмулятора. Выполните следующую команду из корня вашего проекта:

Объяснение NFT простыми словами на примере NFT платформ и печенек Oreo

Сегодня я хочу рассказать вам о том, что же такое NFT простыми словами на примерах с печеньками (давайте возьмём Oreo для наглядности). Такой подход я практиковал для новых ребят на проекте. Все слышали об NFT, но никто не мог до конца объяснить, что же это такое. Сам я — QA, который работал на разных NFT платформах и за год работы на таких платформах выработал простой и наглядный пример-рассказ, которым хочу поделиться и с вами. Кроме самих печенек нам придётся окунуться немного в атмосферу 90-х и 2000-х, а именно вспомнить про пачки с наклейками для журналов по мотивам фильмов, мультфильмов, игр и так далее.

В 2-х словах — что такое NFT и платформы по продаже NFT

Давайте в нескольких словах о том, что такое NFT и как с ними работают.

NFT (non‑fungible token) — Невзаимозаменяемый токен, который представляет собой криптографический сертификат цифрового объекта с возможностью передавать сертификат через механизм, применяемый в криптовалютах (блокчейн). Сам по себе токен не является подтверждением права на владение цифровым активом в контексте законодательства об авторском праве. NFT не препятствует копированию объекта, он только закрепляет за владельцем «цифровую фишку», созданную на основе одного из экземпляров цифрового артефакта.

Что же это значит для вас с нами со стороны платформодержателей NFT? Начнём же наши недиетические аналогии. «Криптографический сертификат» можно сравнить с уникальным штампом или штрихкодом (bar code) на обратной стороне упаковки от печенек, только этот штрихкод есть на каждой конкретной печеньке НФТшке.

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

Платформы по продаже NFT обычно состоят минимум из 2х глобальных частей — Storefront (a.k.a магазин) и Marketplace. В магазине не продаются конкретные NFT, там продаются «паки», внутри которых N неизвестных вам NFT и то, какие получите именно вы, решает рандом при открытии пака (на самом деле чуть раньше, но это уже детали и не отменяет факт самого рандома).

Маркетплейс же — обитель пользователей. Туда они выставляют на продажу свои NFT и покупают чужие. Нужно это, кроме пополнения собственной коллекции и улучшения своего морального состояния, также и для внутри‑платформенных ивентов, которые создают организаторы. Обычно благодаря таким ивентам стимулируется спрос на определённые NFT, они подымаются в цене на время данного события и резко падают после. Варианты подогрева рынка достаточно много и большинство из них завязано на геймификацию процесса.

Известные примеры платформ по продаже NFT

Раз затронули платформы по продаже NFT, то стоит упомянуть, что они обычно которые торгуют печеньками NFT на основе магазина (storefront), где получают всю сумму себе и имеют свой процент от продаж пользователями своих NFT на основе маркетплейса (marketplace) уникального для каждой платформы. Такие компании заключают официальные контракты на распространение NFT по мотивам тех или иных виртуальных фото и/или видео и имеют уникальные права на их распространение для поддержания уникальности данных NFT. Несколько примеров знаменитых спортивных NFT платформ, с которыми я имел дело: NBA Top Shot и Laliga Golazos.

Магазин на таких платформах продаёт «паки» с НФТ. Открывая эти паки, вам выпадает случайным образом несколько NFT, их количество разнится от вида пака. Вам заранее известно только минимальная редкость каждого отдельного NFT, однако всегда есть вероятность, что вам выпадет нечто лучше. Сами паки отличаются по стоимости и, соответственно, шансом выпадения более редких NFT. Например пак за 10 долларов даёт 4 NFT, 3 из которых Common редкости (tier) и 1 — Rare. Или же пак за 1000 долларов гарантированно даст вам 2 Legendary и 1 Ultimate НФТшки. Всегда остаётся шанс на то, что вам выпадет что‑то получше, но он совсем невилик. А вот минимально‑гарантированный «дроп» — это то, что можно «купить», беря пак подороже =)

По сути данные паки — это лутбоксы от мира storefront. Простых аналогий с печеньками я не придумал, но классным вариантом будут упаковки наклеек для журналов, которые покупали дети 90-х и 2000-х. Также как на сторфронте, мы покупаете упаковку наклеек (пак), где заранее известно кол‑во наклеек (НФТ), которые вы получите, но какие именно наклейки вы получите вы не узнаете пока не откроете упаковку.

Такие паки продаются на сторфронте лимитированными тиражами, обычно безгранично можно купить что‑то совсем базовое. Раз в определённое время платформо-держатель устраивает «дропы» паков — временно‑ограниченноый ивент с определённым количеством тематических паков.
NFT разделяются на тематические серии.

В рамках знаменитых спортивных платформ — это Set, Series и сам NFT в них.

  • Set — это общая тематика. Например печеньки Орео за 2021 год, Орео по мотивам Марвел, Орео мороженное (да‑да, совсем не печеньки) и так далее. Для простоты примеров, давайте использовать «печеньки» как основной Set, который мы будем коллекционировать.

  • Series — это лимитированная серия в рамках данного сета — например клубничные Орео, Орео в белом шоколаде, печеньки Орео по Покемонам и так далее
    Продолжим в нашем примере с печеньками по Покемонам

  • NFT — это конкретный НФТ из общей партии «отчеканенных»/подписанных НФТшек. Количество таких НФТ зависит от желания авторов сделать их более или менее редкими. Тут работает принцип дефицита — чем чего‑то меньше, тем дороже это что‑то стоит. В частности по этому критерию NFT подразделяются на критерии «редкости» (так называемые Tiers).Часто это бывают (от самых распространённых, до самых редких) — Common, Rare, Legendary, Ultimate, где Common — обычно около 10к НФТ с одним фото/видео на них, а Ultimate — в лучшем случае несколько десятков.

    В данном примере это будут печеньки Орео в рамках серии «Покемоны» и у нас будет 16 покемонов разной степени редкости (условно — картинки покемонов на печеньках)

Для простоты дальнейшего понимания работы Маркетплейса, давайте договоримся о следующих обозначениях:

Common тир = 10 000 экземпляров, например, Пикачу (все же хотят Пикачу, верно?)

Rare тир = 2000 штук Чаризарда

Legendary тир = 350 Сквиртлов

Ultimate — 43 Бульбазавра!

NFT прайс — ПОЧЕМУ СТОЛЬКО. Это же картинки.

Хотите вы этого или нет, но рано или поздно, если начали покупать паки, вы выйдете на маркетплейс ибо получить то, что вам нужно, будет проще именно там, хоть и за большие деньги (не всегда, но как правило), чем стоимость самого дешёвого пака, откуда вы можете вытянуть нужное именно вам. Также именно там вы можете сбагрить ненужные повторюшки из вашей коллекции.

Зайдя на маркетплейс вы, как правило, сможете фильтровать выложенные там NFT. Скорее всего они будут фильтроваться по общей карточке, объединяющей все NFT этого типа (так называемый «Play» в терминах знаменитых спортивных платформ) — изображение / видео это, в моих аналогиях, упаковка от печенек без штрихкода, на которой показана картинка / видео «отчеканенных» / подписанных NFTшек. т. е. это условный «образец», у него нету ID, владельца и подобной инфы, которая бы могла дать возможность его «купить», только та, что описывает данный набор NFT.

Попав внутрь, вы увидите все выставленные NFT, тут уже будет информаци об их ID (ведь каждый из 10К / 2К и т. д. уникальная в рамках данного набора, правда отличаются они только своей ID). В выборе NFT на продажу вы увидите абсолютно рандомные цены. Они формируются рынком, здесь работает человеческая психология, страсть коллекционирования, а для кого‑то и жажда наживы. Чётких правил тут нет, исключение — принцип ограниченности, чем меньше было сделано NFT, тем дороже их изначальная цена, которую выставляют пользователи.

Далее уже вы ограничены вашей фантазией и общей гласной или внегласной договорённостью. Например цена запросто может увеличиться из-за

  • определённого номера ID конкретного NFT. Например день рождения Пикачу Эша — 13го апреля. Следовательно NFT с ID 13, 04, а также вполне вероятно 1304 будут сильно дороже остальных;
  • обычно дороже те ID, которые находятся в первой и последней десятке всех NFT;
  • круглые или красивые числа всегда дороже, например 10, 100, 13, 666 и так далее.

Факторов может быть сильно больше в зависимости от нюансов конкретного домена, но общий посыл думаю я донёс. Всё упирается в то, как сильно человек хочет владеть тем или иным NFT. Данный процесс можно сравнить с коллекционированием карточек, фигурок, фишек и тому подобный стаф. Формально каждый конкретный экземпляр — это сделанный 1 в 1 по образцу экземпляр и отличается он только своим ID от других.

Да ладно, и это всё?

Собственно это и есть база ценообразования. Других «правил» то и нет. Но тут платформо‑держатели вклиниваются в процесс и не дают движущемуся озеру превратится в стоячее болото, а также разогревают вас, кто уже влился во всю движуху. Они начинают организовывать разные временные (конечно же, ограничение по времени — больше желания точно что‑то получить, иначе потом не получишь) ивенты. Обычно они выглядят примерно так: собери 5 NFT Чаризарда из определённого Set и Series и храни их до конца данного ивента и получишь УНИКАЛЬНЫЙ новый NFT, который можно получить только в рамках данного ивента, ведь этот NFT — уникальный. И они не соврут, он действительно будет уникален и больше вы нигде такой не получите. Хотя. может и получите если сильно попросите всем комьюнити и разработчики пойдут вам на встречу. А может и не пойдут, тут вы никогда не узнаете, это — почти лотерея желаний и статистики платформо‑держателя.

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

Уникальный подарок за временный ивент

Из действенных и одновременно почти прожаривающим методом поднятия цен является «сжигание» NFT. NFT burning — это процесс «удаления» NFT из циркуляции в блокчейне. Всё, что уже на блокчейне, не может быть оттуда удалено, это основная его фишка. Как тогда «сжечь» NFT? На самом деле при сжигании NFT отправляется на новый блок с «нулевым», т. е. неиспользуемым другими блоками, адресом. После посыла NFT туда, вы уже не получите к нему доступ. т. е. формально он всё ещё будет существовать, но выпадает из циркуляции на блокчейне, следовательно его «не существует».

Данный процесс может показаться достаточно радикальным и немного странным, но это — Win / Win ситуация, ведь кроме того, что рано или поздно блокчейн «забивается» просто тысячами NFT редкости Common и т. п., у пользователей забивается их «Коллекция» NFT, её становится неудобно менеджить. А благодаря «сжиганию» — выводятся многие NFT из оборота, они не напрягают пользователей, а также, как следствие уменьшения количества оставшихся NFT, остальные в той или иной степени повышаются в цене. Win / Win же!
Чтобы мотивировать коллекционеров сжигать своё уже оплаченное добро, устраиваются, да, правильно (. ), ивенты по сжиганию NFT вида «сожги 20 NFT с Пикачу и получи уникального Бульбазавра в шапочке к себе в коллекцию!».

Собственно это основа с небольшим заходом уже в геймификацию и способы удержания пользователей на вашей платформе. Надеюсь данное, определённо сладкое и малость мучное, приключение по данной статье вам оказалось полезным и увлекательным!
Выпейте чашечку чая, не перебарщивайте с печеньками (они есть в основном на «тёмной» стороне) и увидимся в новой статье!

Обзор популярных NFT-маркетплейсов

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

Что такое NFT

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

NFT, или невзаимозаменяемый токен, — это цифровой слепок с любого уникального предмета. Им может быть фотография, гифка, игровой артефакт, твит, фрагмент текста или аудио.

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

Ценность NFT в его уникальности. Если пользователь покупает NFT на твит или игровой артефакт, такая виртуальная собственность будет только у него. Каждый невзаимозаменяемый токен привязан к уникальной записи в блокчейне — цепочке блоков, в которых хранится информация. Эти блоки разбросаны по всему свету и имеют множество владельцев. Отличие NFT от обычного токена как раз в неповторимости: обычный токен дублируется в цепи блокчейна бесконечное множество раз.

Стоимость NFT зависит от контекста и личности автора. NFT-версия «Черного квадрата» вызовет ажиотаж среди коллекционеров, а работы подающего надежды Пети Вездесущего заинтересуют только его друзей. Любой человек может выставить свой твит на NFT-аукционе, но вряд ли он получит за него 3 млн долларов, как основатель компании Twitter Джек Дорси. Это не значит, что не стоит пробовать — всегда есть шанс, что необычным NFT-предметом кто-то заинтересуется. Технологию можно применять в бизнесе.

Как применять NFT в бизнесе

Самый распространенный сценарий — использовать NFT в маркетинге и пиаре.

Привлечь внимание к бренду. Сервис онлайн-доставки продуктов «Самокат» создал свою NFT-коллекцию с фотографиями еды в кислотных цветах и разыграл ее среди своих клиентов. О необычной пиар-акции написали в крупных СМИ.

Пример NFT-коллекции сервиса онлайн-доставки продуктов «Самокат»

Создать искусственный ажиотаж. Cеть бельгийских закусочных выставила на продажу NFT-коллекцию с аудиозаписью рецепта соуса для бургеров. Компания объявила, что раскрывает коммерческую тайну, ведь секрет популярности фастфуда именно в этом соусе. NFT купили за 7 ETH, это 1,9 тысячи долларов по курсу на 02.06.2023. Цена в ходе торгов выросла в 70 раз — стартовая цена лота была 0,10 ETH.

Как применять NFT в бизнесе: кейс бельгийских закусочных

Дотянуться до новой аудитории. Бренд одежды Balmain выставил на продажу NFT с куклами Barbie в одежде из новой коллекции. Покупатели получали право собственности на цифровой объект и физический набор одежды от бренда в кукольном размере. Компания привлекла большую аудиторию геймеров и других пользователей NFT, среди которых много молодых людей.

Коллаборация Balmain и Barbie: пример из NFT-коллекции

Бизнес-секреты: новости, анонсы событий, советы предпринимателей

Телеграм-канал: 60 330 читателей

Бизнес-секреты: новости, анонсы событий, советы предпринимателей

Подписаться

Что нужно знать об NFT-маркетплейсах

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

Для сделок понадобится криптокошелек — приложение, которое позволяет пользоваться криптовалютой. Самый распространенный — MetaMask, его поддерживают почти все маркетплейсы. Если у вас его еще нет, в интернете есть множество видеоинструкций по созданию и управлению криптокошельками.

Маркетплейсы работают в формате аукционов. Это значит, что продавец выставляет на продажу токен, а потенциальные покупатели оставляют предложения, за сколько готовы его купить. Побеждает тот, кто предложит самую высокую цену.

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

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

Аудитория. Есть маркетплейсы для разных аудиторий.

Например, площадки Axie Infinity и CryptoKitties ориентированы на геймеров — туда стоит идти за игровыми предметами и аватарами с персонажами игр. Другие рассчитаны на спортивных болельщиков — например, на NFT-площадке NBA можно стать владельцем видеофрагмента с матча. А вот площадки Foundation, Sotheby’s и Christie’s подходят для художников и коллекционеров — там создают и выставляют на продажу цифровые произведения искусства или ищут что-то уникальное в коллекцию.

Есть и универсальные площадки — OpenSea, LooksRare или Rarible. Здесь можно найти цифровые картины известных художников, видео с поющими школьницами или гифки с единорогами.

«Плата за газ». Любая криптовалюта существует в блокчейне — базе данных, распределенной по разным компьютерам. Каждый, кто совершает транзакцию в криптовалюте, должен «заплатить за газ» — возместить стоимость энергии, которая нужна для производства этой криптовалюты. Плата поступает майнерам — тем, кто поддерживает блокчейн в работоспособном состоянии. «Плата за газ» зависит от загруженности блокчейна. Большинство NFT-маркетплейсов работают в блокчейне Ethereum. Он самый популярный, поэтому и «газ» здесь самый дорогой.

«Платить за газ» придется каждый раз, когда вы переводите кому-то криптовалюту или выпускаете NFT. Проблема в том, что размер «платы за газ» не фиксирован. В отличие от банковской комиссии, комиссия меняется несколько раз в течение суток — вы просто видите итоговую сумму в криптокошельке. Если «плата за газ» покажется слишком высокой, можно отказаться от оплаты и зайти на площадку в другое время.

Покупателю NFT «газ» обходится в копейки — на то, чтобы совершить транзакцию, энергии требуется не так много.

А вот создание NFT — очень энергоемкий процесс, поэтому продавцам NFT особенно важно ориентироваться в ценах на «газ» и хотя бы немного разбираться в их суточных колебаниях. На Ethereum за это придется заплатить не меньше 60 $, а в напряженные дни — больше 100 $. Для сравнения, в менее загруженном блокчейне Tezos плата за создание NFT — не выше 0,5 $, но и шансов на удачную продажу здесь гораздо меньше. Внимание коллекционеров больше приковано к площадкам на Ethereum.

Комиссия маркетплейсов. Кроме «платы за газ» есть еще комиссия самих маркетплейсов. Ее могут платить продавец, покупатели или и тот, и другой — зависит от условий площадки. В отличие от «платы за газ», эта сумма зафиксирована в правилах маркетплейса и меняется нечасто.

Дополнительные опции. Это может быть невысокая комиссия, бесплатное создание и продвижение NFT, возможность загрузить на платформу сразу несколько NFT-объектов, заплатив комиссию как за один, или получение бонусов за активность на площадке.

Мы выбрали самые интересные маркетплейсы из разных рейтингов и рассказали об их особенностях.

Blur

Blur запустили в октябре 2022 года и он быстро сместил лидера среди маркетплейсов — OpenSea. В марте 2023 года Blur занимал 70% рынка. Популярность маркетплейса возросла после раздачи токена $BLUR, которым вознаграждают пользователей за торговлю на маркетплейсе и за выполнение разных задач. Многие пользователи заработали на этом.

Аудитория. Универсальный маркетплейс, рассчитанный на широкую аудиторию.

На каких блокчейнах работает. Ethereum.

Комиссия маркетплейса. 0% комиссии по всем сделкам.

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

Интерфейс маркетплейса Blur

OpenSea

OpenSea — до прихода на рынок Blur самый крупный маркетплейс для торговли невзаимозаменяемыми токенами. В мае 2022 года на него приходилось 84% всех сделок с NFT.

Аудитория. Универсальный маркетплейс, рассчитанный на широкую аудиторию. Здесь можно продавать и покупать цифровое искусство, фотографии, музыкальные треки, игровые предметы и даже доменные имена.

На каких блокчейнах работает. Ethereum, Solana.

Комиссия маркетплейса. 2,5% с продавца.

Особенности. В OpenSea большой выбор для покупателя — на площадке выставлено более 80 тысяч NFT общей стоимостью 20 млн долларов. Продавцы столкнутся с конкуренцией и высокой «платой за газ» — в пиковые часы при создании NFT в блокчейне Ethereum она может превысить 100 $. Но недавно маркетплейс начал работать в блокчейне Solana и, чтобы привлечь аудиторию в Solana, отменил «плату за газ» — это хороший вариант для начинающих продавцов, которые хотят попробовать свои силы в NFT.

Как выглядит NFT-маркетплейс OpenSea: пример

Magic Eden

Magic Eden — маркетплейс, который запустили в сентябре 2021 года. Здесь можно купить картину, нарисованную при помощи искусственного интеллекта, или игровой арт — NFT-объект по мотивам компьютерных игр.

Аудитория. Геймеры и авторы произведений по мотивам компьютерных игр.

На каких блокчейнах работает. Solana — он менее загружен, чем мегапопулярный Ethereum. Это упрощает процесс создания токена — требуется меньше энергии, поэтому «плата за газ» здесь ниже, обычно в пределах 0,00025 $ за одну транзакцию.

Комиссия маркетплейса. 2% от цены сделки, платит продавец.

Особенности. Magic Eden — маркетплейс, запущенный в сентябре 2021 года. Здесь можно купить картину, нарисованную при помощи искусственного интеллекта, или игровой арт — NFT-объект по мотивам компьютерных игр. Аукцион длится только 24 часа: если его не продлить, то он автоматически закрывается. Зарегистрироваться может любой желающий.

Пример NFT-коллекции на маркетплейсе Magic Eden

Rarible

Rarible — площадка, созданная в 2019 году российскими разработчиками Александром Сальниковым и Алексеем Фалиным. Здесь можно купить NFT, которые размещены только на Rarible.

Аудитория. Универсальный маркетплейс, как и OpenSea. Рассчитан на широкую аудиторию художников, геймеров, фотографов, спортивных болельщиков и любителей NFT-арта.

На каких блокчейнах работает. Ethereum, Flow, Solana, Tezos, Polygon.

Комиссия маркетплейса. 1% с покупателя и 1% с продавца от цены NFT.

Особенности. Одна из особенностей Rarible — функция Free Minting. Она позволяет выставить NFT на продажу без «платы за газ», а создание токена происходит в момент покупки. Но «плата за газ» ложится на плечи покупателя, и для него итоговая цена может оказаться выше первоначальной. Поэтому стоит обратить внимание на сумму в кошельке перед оплатой покупки. Если цена не устраивает, можно отказаться от сделки.

NFT-коллекция BoredApeYachtClub на маркетплейсе Rarible

SuperRare

Маркетплейс создала компания Pixura в марте 2021 года. Изначально туда можно было попасть только по ссылке-приглашению или после одобрения модераторов. Сейчас регистрация доступна всем, но есть требование к эксклюзивности — предполагается, что все, что здесь выставлено, существует в единственном экземпляре. За нарушение аккаунт блокируют.

Аудитория. Специализированный арт-маркетплейс для художников и коллекционеров. Акцент на эксклюзивности работ подчеркивается самим названием маркетплейса: super rare в переводе означает «очень редкий».

На каких блокчейнах работает. Ethereum.

Комиссия маркетплейса. Продавец платит 15% от цены NFT, покупатель — 3%.

Особенности. SuperRare — одна из немногих площадок, где есть возможность продвигаться, как в соцсетях — то есть повышать свое положение в выдаче за счет «лайков» от других пользователей. Самые популярные картины отображаются на главной странице в галерее «Лучшие художники», «Лучшие коллекционеры» и «Крупнейшие коллекции». Работам из подобных подборок проще вызвать интерес на аукционе.

Работа художников AES+F на NFT-маркетплейсе SuperRare

Foundation

Маркетплейс создал Кайвон Теграниан в 2020 в Сан-Франциско. Сегодня на Foundation выставлено более 90 тысяч работ. Сюда стоит идти тем, кто разбирается в цифровом искусстве.

Аудитория. Специализированный маркетплейс для художников и коллекционеров.

На каких блокчейнах работает. Ethereum.

Комиссия маркетплейса. Продавец платит 15% от цены продажи.

Особенности. Каждый вновь зарегистрированный художник получает возможность рассказать о себе на главной странице маркетплейса — это хороший «аванс» для начинающего автора. Художники могут продать здесь NFT любого формата — статичную картинку, видео, 3D, VR и даже физические работы.

Работа Джима Керри на NFT-маркетплейсе

Выбираем NFT-маркетплейс

Универсальный совет: начинающему продавцу или покупателю стоит попробовать себя на топовых площадках универсальной тематики вроде OpenSea и Rarible. Если специализация — гейм-арт, то можно идти на Magic Eden. SuperRare и Foundation подойдут продвинутым продавцам и тем, кто хочет вложить деньги в цифровое искусство.

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

Маркетплейс Специализация Комиссия и кто ее платит Блокчейн
Blur Универсальная 0% Ethereum
OpenSea Универсальная 2,5% с продавца Ethereum, Solana
Magic Eden Гейминг 2% с продавца Solana
Rarible Универсальная 1% с продавца, 1% с покупателя Ethereum, Polygon, Solana, Flow, Tezos
SuperRare Арт 15% с продавца, 3% — c покупателя Ethereum
Foundation Арт 15% с продавца Ethereum

NFT-базары: факторы риска

Богдан Хоменко предостерегает от нескольких опасностей, с которыми могут встретиться новички при выходе на NFT-маркетплейсы, — они связаны с техническими и с человеческими факторами.

Риск для продавца: слишком высокая стоимость «газа». В часы пиковой нагрузки затраты на создание токена могут просто перекрыть цену, которую можно выручить за NFT.

Как бороться: искать закономерности самостоятельно — заходить в профиль в разное время суток, фиксировать размер «платы за газ» и найти самое выгодное соотношение параметров. Вариант — проконсультироваться со специалистом или полностью поручить ему все сделки.

Риск для покупателя: обман со стороны продавца. Если хотите вместе с токеном получить оригинал на физическом носителе, то вы очень рискуете. Нет никаких законодательных норм, которые обязывают владельца, например, картины передать вам подлинник после покупки токена. А платформа не несет за это никакой ответственности.

Как бороться: всегда работать только с проверенными художниками или не покупать физические картины, если что-то вас настораживает.

Объективные факторы риска, от которых трудно себя обезопасить, например любая площадка может закрыться.

Так, осенью 2021 года платформа Hic et nunc просто перестала работать, хотя входила в десятку лучших бирж этой направленности.

На маркетплейсе было зарегистрировано около 50 тысяч продавцов, он работал в блокчейне Tezos и привлекал пользователей низкой «платой за газ». И хотя они сохранили доступ к своим NFT, блокчейн Tezos некоторое время считался не самым надежным в криптосообществе.

Онлайн-банк для ИТ-компаний

Онлайн-банк для ИТ-компаний

  • Вывод дивидендов до 2 000 000 ₽ с уплатой НДФЛ — бесплатно
  • Бесплатный зарплатный проект
  • Безопасные выплаты самозанятым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *