NFT Бочки
NFT бочки позволяют разработчикам легко реализовать действия, связанные с NFT, в своих dApp.
NFT Бочки
Информация, представленная ниже, предназначена для разработчиков. Удобный портал для NFT, DEX и активов находится в стадии разработки.
NFT это FRAME бочка которая обеспечивает множество функций для взаимодействия с NFT.
В бочке появился новый способ конфигурирования NFT, а также конфигурирования коллекций и элементов. Уровень бочек флаги функций позволяет отключать функциональные возможности, которые не нужны во время выполнения.
API Bitzal JS для бочки NFT FRAME можно найти здесь.
Роли
Настройка коллекции подразумевает наличие различных ролей с разными разрешениями:
-
Владелец:
- уничтожить коллекцию (чтобы уничтожить коллекцию, в ней должно остаться 0 элементов).
- перезаложить: переоценить депозит по некоторым позициям.
- установить команду: изменить Эмитента, Администратора, Модератора коллекции.
- устанавливить набор коллекции и максимальное количество: установка максимального количества элементов для коллекции.
- блокировка коллекции: это может включать в себя запрет на передачу элементов коллекции, фиксирование ее максимального предложения, а также блокировку метаданных и атрибутов коллекции.
-
Админ:
- настройка атрибутов и метаданных коллекции.
- установить атрибуты с предварительной подписью: установить атрибуты для элемента, предоставив администратору предварительную подпись одобрение.
- свойства элемента блокировки: метаданные элемента блокировки и атрибуты.
-
Модератор:
- заблокировать передачу предмета: запретить дальнейшую передачу предмета.
- разблокировать передачу предмета: снять предыдущую блокировку для передачи предмета.
-
Эмитент
- чеканка
- принудительная чеканка (с пользовательской конфигурацией элементов).
- чеканить с предварительной подписью: чеканить предмет, предоставляя эмитенту предварительную подпись..
- обновить настройки чеканки.
Эти роли также могут быть установлены на отсутствует без возможности изменить их обратно. Это полезно, когда
когда создается коллекция и все элементы чеканятся. Теперь, установив роли в отсутствует мы удаляем
возможность чеканить новые предметы, изменять метаданные или запрещать передачу некоторых предметов.
Атрибуты
Элемент может содержать следующие типы атрибутов:
- Системные атрибуты. Эти атрибуты могут быть установлены или сняты только бочкой. Примеры включают
блокировку элемента для выполнения, использующего бочку фракционирования. Таким же образом пользователи могут
чеканить из коллекции, если у них есть действительный элемент из другой коллекции (системный атрибут
UsedToClaimи он настроен). - Атрибуты владельца коллекции. Это атрибуты, которые могут быть установлены или сняты только администратором коллекций.
- Пользовательские атрибуты. Это атрибуты, используемые для хранения различных пользовательских настроек/значений, которые которые могут быть изменены только владельцем NFT. Никакая другая учетная запись не может ограничить изменение этих атрибутов.
- Внешние атрибуты. Это атрибуты, которые владелец NFT может использовать, чтобы позволить внешним сервисам (например, оракулам, смарт-контрактам на другой цепочке и т.д.) устанавливать или изменять.
Создание коллекции
Вы можете использовать бочку NFT для создания коллекций NFT. В пользовательском интерфейсе Bitzal-JS перейдите в раздел Developer >
Extrinsic и выберите nfts.create extrinsic. При создании коллекции необходимо указать, кто является
администратором. Затем в разделе config: BarrelNftsCollectionConfig, Вы можете настроить свою коллекцию, указав
различные параметры:
-
настройкивы можете задать (в формате bitflag) настройки для вашей коллекции:Передаваемые предметы: Если предметы отключены, они не подлежат передаче (полезно для привязанных сущностей NFT),Разблокировка метаданных: Если отключить, метаданные будут заблокированы,Разблокированные атрибуты: При отключении атрибутов вCollectionOwnerпространство имен будет заблокировано,Разблокированный максимальный запас: позволяет изменять максимальный объём поставки до тех пор, пока он не будет заблокирован (т.е. возможность изменять объём поставки в течение ограниченного времени),Необходимый депозит: если эта опция отключена, задаток за чеканку не будет приниматься. Эта опция может быть установлена только суперпользователем .
Обратите внимание, что в настоящее время Bitzal-JS UI не поддерживает битовые флаги. Оставьте поле настроек как есть.
По умолчанию все разблокировано (значение bitflag 0).
maxSupply(опция переключения) позволяет указать максимальное количество предметов, которые могут быть отчеканены.mintSettings: BarrelNftsMintSettingsпозволяет задать различные настройки для вашей коллекции.mintTypeдает вам возможность указать, кто может делать чеканку в вашей коллекции:Ìssuer: только вы можете чеканить в своей коллекции.Public: Каждый может чеканить в вашей коллекции.HoderOf: Только обладатели предметов из другой коллекции могут чеканить в вашей коллекции. Для этого требуется знание идентификатора другой коллекции. Это позволяет избежать перебора всех существующих коллекций и заваливать узлы RPC запросами на поиск доступных идентификаторов.
price(опция переключения) позволяет указать цену предметов.startBlockиendBlockдают возможность указать временной интервал, в течение которого конфигурация коллекций действительна (т.е. все опции в пределахконфигурация: BarrelNftsCollectionConfig).- другие настройки чеканки включает:
- волновую чеканку, например, чеканить X экземпляров, которые отправляются владельцам коллекций, и Y экземпляров, предназначенных для публики.
- force mint: майнинг в обход настроек чеканки
Пользователь может принять решение о блокировке метаданных, атрибутов и настроек элемента или коллекции. Также механизм блокировки может предотвратить несанкционированные и непривилегированные передачи (непривилегированные действия могут быть повторно разрешить в любое время).
С помощью всех этих опций можно изменить стоимость предметов коллекции и определить, кто может
чеканить, получать или покупать предметы этой коллекции. Ограничения по времени доступны с помощью startBlock и
endBlock параметры. Таким образом, можно, например, составить расписание, в котором держатели
предметов из коллекции A (HolderOf параметр) смогут заявить ограниченное количество NFT из
коллекции X (maxSupply параметр) только в определенный период времени.
В коллекции X люди могут отчеканить столько же NFT, сколько в коллекции А. Это соотношение один к одному.
Так что если у них есть 3 NFT в коллекции A, они могут майнить 3 NFT в коллекции X. Каждый раз, когда они
используют один NFT в коллекции А, у этого NFT будет атрибут, который заблокирует его дальнейшее использование для
для майнинга в коллекции X. Но можно будет майнить в другой коллекции Y, если она также использует коллекцию
коллекцию A в качестве HolderOf.
Вы можете изменить параметры, чтобы каждый мог купить больше NFT из коллекции X. Чтобы купить NFT, вы должны заплатить цену предмета + комиссию за транзакцию. Даже если предмет бесплатный, плата за транзакцию всегда взимается.
Это может быть полезно для таких мероприятий, как хакатоны, где участники, купившие тикет, получают тикет NFT из коллекции A. Тогда все обладатели хотя бы одного предмета из коллекции A (т. е. все владельцы тикетов) получат бесплатные аватарки NFT из коллекции X в рамках расписания мероприятия. После После мероприятия все оставшиеся предметы из коллекции X могут быть выставлены на продажу через торговую площадку.
Для получения бесплатного аватара необходимо владеть хотя бы одним NFT из коллекции А. Можно только требовать аватар, указав, каким NFT (т.е. ID) из коллекции А он владеет. Один и тот же NFT не может быть использовать дважды. Владельцы нескольких NFT в Коллекции A (например, участники нескольких Хакатонов) могут заявить несколько аватаров, относящихся к каждому событию.
Если кто-то попытается отчеканить NFT за пределами указанного срока, это вызовет NoConfig ошибка, поскольку
администратор коллекции не указал никаких настроек после окончания срока коллекции,
администратор должен вызвать updateMintSettings эксцинтриксы и добавьте новое расписание или отменить блок
опции номера.
После того как вы отчеканили NFT, проверьте, какие NFT ID принадлежат вам в какой коллекции. В пользовательском интерфейсе Bitzal-JS
перейдите к Developer > Chain State > Storage, выберите nfts.account эксцинтрикс, и укажите
учетную запись, владеющую NFT, и идентификатор коллекции. Вы также можете просмотреть все свои коллекции, выбрав
collectionAccount эксцинтрикс.
При создании новой коллекции ей будет присвоен новый идентификатор. Когда коллекция уничтожается, никто не может снова получить идентификатор коллекции (включая владельца).
Чеканка NFT
Вы можете отчеканить NFT с помощью nfts.mint эксцинтрикс. Затем необходимо указать следующее:
collection, идентификатор коллекции, в которой вы хотите отчеканитьitem, идентификатор элемента IDmintTo, АккаунтwitnessData(опция переключения), вы можете указать, владеете ли вы NFT в другой коллекции
Создание элемента обычно предполагает установку некоторых атрибутов, характерных для этого элемента.
Загрузка файлов и метаданных
Использование Apillon
Когда у вас есть идентификатор коллекции и идентификатор элемента, вам нужно:
- Откройте счет на Apillon и создайте новый проект.
- Перейдите в раздел службу Apillon Storage и создайте новое хранилище. Загрузите файл, который нужно сохранить, в контейнер.
- После того как файл будет загружен и помещен в IPFS, щелкните его, чтобы открыть подробную информацию о нем и скопируйте Идентификатор контента (CID). Эта уникальная строка букв и цифр будет служить маркером, связывающим данные, загруженные в IPFS к коллекции или идентификатору предмета, которым вы владеете.
- Подготовьте файл метаданных JSON и добавьте свой CID (см. ниже):
{
"name":"Your Collection Name",
"description":"Collection's Description",
"image":"Your Collection CID"
}
- Загрузите файл метаданных в хранилище Apillon и получите обновленный CID.
Альтернативный вариант - использование Pinata
- Open an account on Pinata.
- Следуйте за этими шагами чтобы загрузить файл, который вы хотите использовать для чеканки.
- Загрузив файл, получите Идентификатор контента (CID). Эта уникальная строка букв и цифр будет служить маркером, связывающим данные, загруженные в IPFS к коллекции или идентификатору предмета, которым вы владеете.
- Подготовьте файл метаданных и добавьте свой CID (см. ниже):
{
"name":"Your Collection Name",
"description":"Collection's Description",
"image":"Your Collection CID"
}
- Загрузите файл метаданных в Pinata и получите обновленный CID.
После майнинга NFT в Bitzal-JS UI вы можете добавить CID. Перейдите к Developer > Extrinsics и
выберите nfts.setCollectionMetadata (for collections) или nfts.setMetadata (для одиночных NFT)
екцинтриксов. В соответствии с data: Bytes в поле можно ввести CID или загрузить файл метаданных.
Коллекция может быть создана, а ее элемент отчеканен до загрузки файла NFT и связанных с ним метаданные. В процессе майнинга на цепочке вашему аккаунту будет присвоен идентификатор коллекции и элемента. Впоследствии эти идентификаторы будут заполнены файлами NFT, метаданными и атрибутами. Как только вы загрузите файлы NFT и связанные с ними данные, вышеупомянутые экстринсики можно использовать для обновления коллекции или элемента.
С новым порталом NFT/DEX/Asset все вышеперечисленные действия будут выполняться "под капотом" и пользователю не нужно будет беспокоиться обо всех технических аспектах
Другие действия
- Покупка предмета, выставленного на продажу.
- Сжигать (т.е. уничтожать) предметы или один предмет (сжигание должно быть подписано либо администратором коллекции, либо ее владельцем).
- Интеллектуальные атрибуты позволяет владельцу НМТ предоставлять разрешать другим сущностям (другой учетной записи, приложению, оракулу и т. д.) обновлять атрибуты NFT. Примером может быть то, что все члены сообщества Bitzal имеют значок NFT который со временем обновляется (что-то вроде ранга) с последующим повышением прав на членство.
- Коллекция управляется Эмитент, Администратор и Хранитель.. Эти роли могут могут быть изменены в любое время.
- Установка метаданных для предмета или коллекции (метаданные включают всю необходимую информацию о предмете или коллекции). Метаданные могут состоять из любых произвольных данных, например хэша IPFS.
- Установка или изменение цены товара.
- Очистка атрибутов и метаданных коллекции или элемента.
- Смена владельца предмета или коллекции.
- Передача предмета, а также создание и отмена разрешений на передачу конкретного предмета, или atomic swap.
- Передача права собственности на предмет.
- Делегирование учетных записей: Делегированные учетные записи могут утверждать изменения атрибутов элементов и передавать элемент. Владелец элемента всегда контролирует ситуацию и может принять решение об отмене одобрения со стороны делегированной учетной записи.
- Можно также выполнить ожидающие атомарные свопы, созданные контрагентом.
Текущая работа
NFTs фракционирование позволит пользователю:
- Получите право собственности на NFT от бочка-nft
- Create a new asset in бочки-активы
- Перечислить сумму вклада предыдущему владельцу NFT в качестве бенефициара.
- Массовая чеканка: Чеканка нескольких предметов за одну транзакцию. Для этого пользователю необходимо предоставить файл .csv с двумя колонками: NFT ID и CID метаданных.
Бочка Uniques
Uniques Barrel устарел. Все, что связано с NFT, будет рассмотрено в разделе NFTs Бочка.
Uniques представляет собой FRAME бочку Развернута на системе Asset Hub синочейне. Она реализует самый базовый вид NFT - запись данных, ссылающаяся на некоторые метаданные. Эта ссылка на метаданные изменчива до тех пор, пока не заморожена, поэтому NFT и их классы (сущности, производные от них) можно изменять, если только эмитент специально не сделал их неизменяемыми.
Uniques специально использует очень простой подход, чтобы цепочка Asset Hub была простой, поддерживающую баланс как для движимого, так и для не движимого имущества.
Эти NFT можно просматривать и взаимодействовать с ними на RMRK& Сингулярная платформа, переключив правое верхнее меню с Ogona на Asset Hub.

С ними также можно взаимодействовать напрямую через вкладка Экстринсикс в Центре активов:
