Выпустить токен PRC-721
Last updated
Last updated
Прежде чем начать, вам нужно будет подготовить следующее:
Метамаска кошелек
Иметь как минимум 1 PSC
Нам нужно провести художественные работы, соответствующие NFT и создать файл метаданных;Для этого мы будем использовать IPFS-распределенную систему для однорангового хранения файлов и совместного использования файлов.Следуйте инструкциям по установке в документации IPFS, чтобы загрузить и установить IPFS CLI на основе вашей операционной системы.
Создайте REPO IPFS.Инициализируйте REPO IPFS, набрав следующие в окне терминала
Запустите демон IPFS.Откройте отдельное окно терминала и введите следующее:
Чтобы добавить изображение на IPFS, перейдите в первое окно терминала и добавьте изображение на IPFS (здесь это art.png).
Скопируйте хэш, начиная с QM, и добавьте https://ipfs.io/ipfs/prefix, он должен выглядеть так:https://ipfs.io/ipfs/QmdrswwrbcfPeknN2BRLVmyWbWRsKSC3vSNhV9Gkvhk1mL.
Добавьте файл JSON на IPFS.Создайте файл JSON, NFT.JSON и сохраните его в том же каталоге, что и изображение.Формат файла JSON:
Теперь добавьте файл JSON:
Скопируйте хэш, начинающийся с Qm, и добавьте префикс https://ipfs.io/ipfs/, он должен выглядеть так: https://ipfs.io/ipfs/QmWKqwMJQHSfpfRFGUVGPFFtkBJ5WkFzhjQpruhSLtLWXB, сохраните этот URL-адрес. Нам нужно это, чтобы чеканить NFT.
Для удобства и безопасности мы будем использовать контракт 0xcert/ethereum-erc721 для создания нашего контракта NFT. С 0xcert/ethereum-erc721 нам не нужно писать весь интерфейс ERC-721. Вместо этого мы можем импортировать контракт библиотеки и использовать ее функции. Перейдите в IDE Ether Remix, создайте новый файл Solidity, например nft.sol, и вставьте следующий код в файл Solidity.
Ниже приведено объяснение кода:
Line 1: Указывает тип лицензии SPDX, который был добавлен после прочности ^ 0,6,8.Эти лицензии могут помочь разрешить / избежать проблем с авторским правом всякий раз, когда исходный код интеллектуального договора доступен для общественности.Если вы не хотите указывать любой тип лицензии, вы можете использовать специальное значение Unlicensed или просто пропустить весь комментарий (он не приведет к ошибке, просто предупреждение).
Line 2: объявляет версию солидности.
Lines 4-5: импортировать контракт 0xcert/ethereum-erc721.
Line 7: Контракт назван Newnft, который наследует NFTOKENTEMADATA и собственные контракты.
Lines 9-12: инициализируйте конструктор и установите символ имени и токена.
Line 14: Объявите Mint функции с тремя параметрами, переменной _TO для адреса, который хранит адрес получателя NFT Token;переменная _tokenid для Uint256, которая будет удерживать идентификатор токена;и переменная _URI для строки, которая будет хранить URI файла JSON.Объявите Mint как внешнюю функцию, к которой можно получить доступ из -за других смарт -контрактов и текущего контракта.
Line 15: Используйте адрес получателя и идентификатор токена, чтобы Mant Tokens.
Line 16: Установите токен URI, используя идентификатор токена и URI файла JSON.
Скомпилируйте Smart Contract и разверните его с помощью введенного Web3 (не забудьте выбрать ROPSTEN TESTNET на метамаске перед составлением договора).Утвердить сделки, приходящие на метамаск.
Если вы получаете сообщение об ошибке перед развертыванием: этот договор может быть абстрактным, убедитесь, что подходящий договор выбран по вкладке Контрактов.Подтвердите транзакцию в метамаске.
Теперь перейдите в раздел развернутых контрактов в ремиксе и расширите развернутые контракты.Вы увидите кучу функций/методов.Разверните функцию Mint и добавьте следующие параметры:
Добавьте свой ропстен адрес на _to.
Введите любое числовое значение в _TokedID (рекомендуется 1, как оно первое).
В поле _URI добавьте URI файла JSON, полученное в предыдущем разделе.
Нажмите на транзакцию и подтвердите транзакцию из метамаска.(Требуется, чтобы у вас уже есть эт на цепочке ропстен)
Вы можете увидеть другие детали, такие как имя, символ, владелец или токенори, введя идентификатор токена, который мы упоминали ранее.
Поздравляем с созданием собственной NFT, помогая своим художникам друзей опубликовать свои произведения к эфиру блокчан или стать художником.