Пошаговое руководство по созданию собственных NFT
Это четвертая часть из четырех частей серии NFT Creator:
- Создайте свою собственную коллекцию NFT с помощью Python
- Создать метаданные NFT
- Развертывание смарт-контрактов NFT
- Минтинг NFT
Если вы хотите писать код, вы можете найти необходимый код в предыдущих частях.
Что такое Минтинг?
Minting — это процесс преобразования цифрового файла в NFT на блокчейне Ethereum. Этот NFT хранится в децентрализованной базе данных, что делает невозможным его редактирование, изменение или удаление.
Установить библиотеку WEB3
Вам понадобится библиотека алхимии для взаимодействия с их API. Следовательно, вы должны установить это.
Запустите в командной строке:
chdir [INSERT HERE YOUR NFT PROJECT DIRECTORY] npm install @alch/alchemy-web3
Создайте свой скрипт минтинга
Создайте файл mint-nft.js в каталоге ./scripts, содержащий приведенный ниже код.
Этот скрипт состоит из пяти шагов:
Шаг 1: Определите переменные
Процесс чеканки требует некоторых переменных, таких как ваши ключи метамаски и ваш URL-адрес алхимии.
Убедитесь, что вы обновили файл .env
, который вы создали в 3-й части серии NFT Creator.
Небольшое освежение:
- API_URL: это URL-адрес вашего приложения алхимии.
- PRIVATE_KEY: ваш закрытый ключ метамаски
- PUBLIC_KEY: ваш открытый ключ метамаски.
Шаг 2: Определите наш ABI
ABI (бинарный интерфейс приложения) — это интерфейс для взаимодействия со смарт-контрактом, который вы развернули в части 3.
Короче говоря, Hardhat сгенерировал ABI для нашего смарт-контракта, который хранится в файле MyNFT.json.
Важно, чтобы вы ввели адрес смарт-контракта, который вы развернули в части 3.
В приведенном выше примере адрес нашего контракта — 0x099D1751c33d75297c9f331a5Cd39275ff534f96
.
Шаг 3: Определите функцию чеканки
Вы создаете функцию с именем mintNFT, для которой требуется один параметр «tokenURI». Давайте разберем это:
Nonce
используется для отслеживания количества транзакций, отправленных с вашего адреса. Это необходимо в целях безопасности для предотвращения повторных атак.from
: Происхождение/инициатор транзакции. Это наш публичный адрес.to
: адрес контракта, с которым мы хотим взаимодействовать.gas
: приблизительное количество газа, необходимого для завершения транзакции.maxPriorityFeePerGas
: Ориентировочная плата за газdata
: вычисление, которое вы хотите выполнить, которое создает nft
Шаг 4: Подпишите транзакцию
Вам все еще нужно подписать транзакцию, чтобы отправить ее.
Для этого вы используете функции web3.eth. Это даст вам хэш транзакции, чтобы убедиться, что ваша транзакция была эффективно добыта и не удалена сетью.
Шаг 5: Вызов функции mintNFT
Для функции mintNFT
требуется параметр tokenURI
, который ссылается на документ JSON, в котором хранятся метаданные (изображение, свойства, имя, описание и т. д.).
Пожалуйста, следуйте инструкциям из 2-й части руководства, чтобы сгенерировать и разместить метаданные в облаке. Скопируйте ссылку как входной параметр.
Теперь ваш файл mint-nft.js должен выглядеть так:
Вызовите свою функцию mint-nft
Теперь вы создаете свой NFT, запустив скрипт mint-nft
в своем терминале.
Запустите это в своем терминале:
node scripts/mint-nft.js
Если вы выполнили все шаги правильно, вы должны получить «Квитанцию о транзакции», в которой указаны все используемые параметры.
Вы также можете проверить на Ropsten Etherscan, прошла ли ваша транзакция успешно.
Для простоты вы только что отчеканили один nft.
Поскольку у вас есть 99 других изображений, которые вы хотели бы отчеканить, вы можете создать цикл for, который запускает функцию mint-nft
99 раз, каждый раз используя другую ссылку на метаданные.
Просмотрите свой отчеканенный NFT
- Загрузите расширение метамаски на свой мобильный телефон через соответствующий магазин приложений и войдите в систему, используя свою секретную фразу.
- Настройте свою сеть на Ropsten
- Нажмите Импорт NFT и заполните следующие параметры, которые вы можете найти на etherscan:
- Адрес (адрес смарт-контракта, для вас он будет другим):
0x099d1751c33d75297c9f331a5cd39275ff534f96
- Идентификатор (TokenID): 1
Обновите метамаску, и ваш только что созданный NFT должен появиться.
Удачного программирования!
Рекомендации
Этот учебник исходит из следующего сообщения команды Alchemy. Огромные заслуги перед командой Alchemy, и обязательно ознакомьтесь с ними!