Все, что вам нужно знать о создании NFT на Velas
Создание NFT на Velas может дать командам различные преимущества. К ним относятся использование смарт-контрактов, совместимых с Ethereum, молниеносная скорость транзакций, отсутствие высоких комиссий за газ и многое другое.
Содержание:
Введение
NFT — это революционная технология, которая может принести пользу пользователям различными способами. Например, он предоставляет пользователям доказательства права собственности на свои цифровые активы, как никогда раньше. Более того, NFT могут привести к созданию совершенно новой экономики создателей.
Несмотря на все преимущества NFT, все говорят о расширении возможностей своих проектов с помощью NFT. Но знаете ли вы, как разрабатывать смарт-контракты с поддержкой NFT? Если нет, не волнуйтесь, потому что эта статья проведет вас через все этапы создания смарт-контрактов NFT в Velas Testnet.
Имейте в виду, что в этом руководстве показано, как создать уникальный NFT вместо коллекции. Таким образом, этот смарт-контракт позволит пользователям создавать любые свои фотографии или видео в виде NFT.
Почему Велас?
Существует множество протоколов блокчейна. Но разработчики по-прежнему сталкиваются с проблемами при их использовании. Например, Ethereum борется с высокими комиссиями за газ и медленной обработкой транзакций, в то время как другие блокчейны требуют от разработчиков использования незнакомых языков, таких как Rust.
Доступно Свечи, большинство из этих проблем не существует. Решение Velas унаследовало лучшее от технологии Solana и дополнило его дополнительными функциями для поддержки совместимости с EVM. Это дает пользователям и разработчикам идеальную платформу, которая гарантирует отличный пользовательский опыт и более быстрое время транзакций. Более того, это упрощает процесс разработки благодаря поддержке Solidity.
Предпосылки
Для этого у вас должен быть Node плюс Yarn, менеджер пакетов. Кроме того, вы должны иметь базовые знания Solidity. Так что, если вы с ним не знакомы, пожалуйста, ознакомьтесь с основами Solidity и сначала каска.
Установка
Чтобы настроить наш проект, выполните следующую команду в терминале.
npx hardhat
Вы увидите следующий вывод, если у вас не установлен Hardhat.
Тип y и нажмите вводить, и он продолжит установку защитного шлема. Однако, если у вас уже есть Hardhat, вам не будет предложено установить Hardhat. Вместо этого он задаст несколько вопросов о том, как вы хотите настроить проект.
Нам нужен базовый проект Javascript в нашей текущей папке, поэтому просто нажмите вводить За все.
Затем нам нужно установить наши зависимости для проекта. Чтобы установить их, мы будем использовать следующую команду.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Поскольку мы используем Yarn, нам необходимо установить библиотеки, которые использует hardhat-toolbox.
yarn add --dev @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-network-helpers @nomicfoundation/hardhat-chai-matchers @nomiclabs/hardhat-ethers @nomiclabs/hardhat-etherscan chai ethers hardhat-gas-reporter solidity-coverage @typechain/hardhat typechain @typechain/ethers-v5 @ethersproject/abi @ethersproject/providers
Если вы используете npm версии 7 или более поздней версии, эти библиотеки будут установлены напрямую.
Стоит отметить, что нам нужно сделать еще один шаг, прежде чем писать смарт-контракт. То есть удалить любую .соль файлы, которые вы видите в папке контрактов, и создайте новый файл с именем ВЕЛАСНФТ.sol. Это папка, в которой мы будем писать наш контракт.
Как написать смарт-контракт NFT
Конструктор
Для начала мы создадим базовый смарт-контракт, в котором определим версию надежности и создадим пустое тело смарт-контракта.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Нам нужно импортировать базовый смарт-контракт и служебный смарт-контракт. Примечательно, что именно эти контракты будут использоваться для создания нашего смарт-контракта NFT. Базовый договор – это ERC721URISхранилище, реализация ERC721 с управлением URI токена на основе хранилища.
Counters — это служебный контракт, который будет использоваться для подсчета количества отчеканенных NFT.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Наш контракт унаследует базовый контракт. Это позволит пользователям получить доступ ко всем функциям базового контракта и наших смарт-контрактов.
contract VELASNFT is ERC721URIStorage { }
Теперь мы можем написать конструктор для нашего контракта. Примечательно, что у нашего конструктора не будет никаких аргументов, но вам придется передать имя и символ конструктору ERC721.
constructor() ERC721("VELASNFT", "VN") {}
В конце этого шага ваш смарт-контракт должен выглядеть следующим образом.
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { constructor() ERC721("VELASNFT", "VN") {} }
Написание функции mint
Для функции mint нам нужно сначала настроить счетчик. Вставьте следующий фрагмент в контракт над конструктором.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
мы назначаем все функции библиотеки Counters структуре Counter. Затем мы создадим частную переменную с именем _токенидс.
Теперь приступим к разработке функции. Это займет один аргумент: токенURI, и это будет URL-адрес json-файла, в котором хранятся все метаданные. Подробнее о метаданных мы поговорим в следующих разделах. Функция mint будет общедоступной и будет возвращать идентификатор отчеканенного NFT, который будет иметь тип uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Внутри функции мы сначала получим текущий счетчик счетчика.
Чтобы создать NFT, мы будем использовать _мята функция, которая принимает адрес и идентификатор в качестве аргументов. В качестве адреса мы будем использовать адрес звонящего, а ID будет текущим счетчиком. После этого нам нужно сохранить токенURI.
Для этого нам придется _setTokenURI, который сохранит URI с соответствующим идентификатором в качестве ключа. В конце мы увеличим счетчик, а затем и идентификатор созданного NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Поздравляем! Теперь ваш смарт-контракт может чеканить NFT! Вот обзор всего контракта.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("VELASNFT", "VN") {} function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
}
Как развернуть контракт
Мы создали смарт-контракт NFT. Наступает волнующий шаг — развертывание. Но перед развертыванием контракта нам необходимо его скомпилировать и написать скрипт, который разворачивает контракт. Чтобы скомпилировать контракт, выполните следующую команду в терминале.
npx hardhat compile
Вы увидите следующий вывод.
Теперь перейдем к следующему этапу — написанию скрипта для развертывания этого смарт-контракта. Для этого мы перейдем в папку сценариев и откроем файл Deploy.js. Затем удалите все содержимое и вставьте следующий фрагмент в этот файл.
const hre = require("hardhat"); async function main () { // We get the contract to deploy const VELASNFT = await hre.ethers.getContractFactory('VELASNFT'); console.log("Deploying NFT contract..."); const velasnft = await VELASNFT.deploy(); await velasnft.deployed(); console.log('NFT contract deployed to:', velasnft.address); } main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1);
});
Перед развертыванием контракта нам необходимо добавить информацию о тестовой сети Velas в файл hardhat.config.js. Откройте файл и добавьте конфигурацию тестовой сети Velas.
require("@nomicfoundation/hardhat-toolbox");
const dotenv = require('dotenv');
dotenv.config(); /** @type import('hardhat/config').HardhatUserConfig */
module.exports = { solidity: "0.8.9", networks: { velastestnet: { url: `https://evmexplorer.testnet.velas.com/rpc`, accounts: [process.env.PRIVATE_KEY] } }
};
Также стоит отметить, что перед развертыванием контракта вам необходимо добавить закрытые ключи для вашего кошелька в файл .env и иметь в кошельке некоторый токен testnet VLX. Вы можете получить токены тестовой сети на здесь.
Теперь, когда у нас все настроено, выполните следующую команду в терминале.
npx hardhat run scripts/deploy.js --network velastestnet
Если команда выполнена успешно, вы увидите в своем терминале результат, аналогичный показанному ниже.
Чеканить NFT
Когда смарт-контракт будет развернут, мы сможем создать NFT из терминала. Для этого сначала запустите консоль защитного шлема, используя следующую команду.
npx hardhat console --network velastestnet
Результаты показаны ниже.
Затем мы создадим переменную контракта с именем «веласнфт», getContractAt метод вернет объект контракта.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Пожалуйста, обратитесь к выводу, показанному ниже.
Для чеканки NFT мы будем использовать метод mint веласнфт переменная. Нам также необходимо передать ссылку на метаданные в метод. Вы можете узнать больше о стандартах метаданных. ВОТ.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Посмотрите результат ниже.
Теперь пришло время проверить владельца NFT. Поскольку мы чеканили с использованием владелец метод, теперь давайте передадим индекс отчеканенного нами NFT.
await velasnft.ownerOf(0)
Вот так мы получаем результат владельца NFT.
Заключение
В статье мы узнали, как написать смарт-контракт NFT, который позволяет пользователям чеканить NFT. Кроме того, нам удалось развернуть его в тестовой сети Velas. Теперь вы можете разрабатывать новые приложения на базе NFT и исследовать динамичную экосистему Velas.
Вы также можете узнать, как создать DAO на Velas по этой ссылке.
Velas хочет расширить возможности тех, кто стремится ускорить разработку Web3. Поэтому Велас запустил программу грантов на сумму 100 миллионов долларов для выполнения этой миссии. Между тем, эта программа также направлена на поддержку расширения экосистемы Velas.
С грантовой программой Velasразработчики смогут более эффективно воплощать в жизнь свои захватывающие идеи. Каждый проект имеет возможность получить до $100,000 XNUMX финансирования. Кроме того, выбранные команды будут иметь доступ к другим ресурсам для содействия развитию своих проектов, включая маркетинг, технических консультантов и многое другое.
Программа грантов охватывает широкий спектр категорий, включая, помимо прочего, DeFi, NFT, игры на базе блокчейна и многое другое.
Если вы заинтересованы в ускорении массового внедрения криптовалют и блокчейна, подайте заявку сейчас, чтобы присоединиться к постоянно развивающейся экосистеме Velas.
Узнайте больше о Веласе:
Отказ от ответственности — Это заказная статья. DappRadar не поддерживает какой-либо контент или продукт на этой странице. DappRadar стремится предоставлять точную информацию, но читатели всегда должны провести собственное исследование, прежде чем предпринимать какие-либо действия. Статьи DappRadar нельзя рассматривать как инвестиционный совет.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 миллионов
- 000
- 1
- 10
- 7
- 9
- a
- О нас
- выше
- ускоряющий
- доступ
- Учетные записи
- точный
- Действие
- дополнение
- дополнительный
- адрес
- Принятие
- совет
- После
- Цель
- Все
- позволяет
- уже
- всегда
- и
- Приложения
- аргумент
- Аргументы
- гайд
- статьи
- Активы
- доступен
- Ждите
- Использование темпера с изогнутым основанием
- основной
- Основы
- , так как:
- до
- не являетесь
- ниже
- польза
- Преимущества
- ЛУЧШЕЕ
- блокчейн
- blockchain питания
- блокчейны
- тело
- приносить
- строить
- построенный
- под названием
- гость
- Может получить
- категории
- проверка
- лыжных шлемов
- совместимость
- совместим
- Обеспокоенность
- заключение
- Конфигурация
- считается
- Консоли
- Консультанты
- содержание
- контракт
- контрактов
- соответствующий
- счетчик
- счетчики
- Обложки
- Создайте
- создали
- Создающий
- создатель
- Создатель экономики
- криптовалюты
- Текущий
- DAO
- DappRadar
- данным
- Defi
- развертывание
- развернуть
- развертывание
- развертывание
- развертывает
- подробнее
- развивать
- застройщиков
- Развитие
- Интернет
- Цифровые активы
- непосредственно
- Г-жа
- Dont
- динамический
- каждый
- экономику
- экосистема
- эффективно
- расширение прав и возможностей
- расширение прав и возможностей
- включить
- одобрять
- полностью
- ERC721
- ошибка
- Эфириума
- все члены
- многое
- пример
- отлично
- захватывающий
- выполнять
- расширение
- опыт
- Больше
- Izvoz,en
- Face
- что его цель
- знакомый
- БЫСТРО
- быстрее
- Особенности
- Сборы
- Файл
- Файлы
- Во-первых,
- следовать
- после
- Способствовать
- Бесплатно
- от
- функция
- Функции
- финансирование
- Игры
- ГАЗ
- плата за газ
- получить
- Дайте
- дает
- Go
- предоставлять
- гранты
- гарантии
- здесь
- High
- Как
- How To
- Однако
- HTTPS
- идеальный
- идеи
- реализация
- Импортировать
- in
- включают
- В том числе
- индекс
- информация
- устанавливать
- вместо
- заинтересованный
- Введение
- инвестиций
- вопросы
- IT
- JavaScript
- присоединиться
- JSON
- Основные
- ключи
- Знать
- знания
- Языки
- запустили
- вести
- узнали
- Используя
- библиотеки
- Библиотека
- ЖИЗНЬЮ
- Ограниченный
- LINK
- посмотреть
- выглядит как
- Главная
- управляемого
- управление
- менеджер
- многих
- Маркетинг
- Масса
- Массовое усыновление
- макс-ширина
- Между тем
- средний
- Память
- Метаданные
- метод
- миллиона
- мята
- чеканились
- Наша миссия
- MIT
- Модули
- БОЛЕЕ
- самых
- двигаться
- имя
- Необходимость
- сетей
- Новые
- следующий
- NFT
- Смарт-контракты NFT
- NFTs
- узел
- особенно
- номер
- объект
- ONE
- открытый
- OpenSea
- Возможность
- Другое
- обзор
- собственный
- владелец
- собственность
- пакет
- надбавки
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пожалуйста
- плюс
- предпосылки
- presentation
- частная
- Частные ключи
- процесс
- обработка
- Продукт
- FitPartner™
- Проект
- проектов
- доказательство
- защищенный
- протоколы
- обеспечивать
- что такое варган?
- Вопросы
- ассортимент
- Читать
- читатели
- Получать
- удаление
- требовать
- исследованиям
- Полезные ресурсы
- результат
- возвращают
- Возвращает
- революционный
- Run
- Ржавчина
- Сохранить
- скрипты
- разделах
- выбранный
- набор
- установка
- должен
- показывать
- показанный
- аналогичный
- с
- медленной
- умный
- умный контракт
- Смарт-контракты
- So
- SOL
- основательность
- Решение
- некоторые
- скорость
- Спонсоров
- Этап
- стандартов
- Начало
- Шаг
- Шаги
- По-прежнему
- магазины
- стараться
- Схватки
- Успешно
- поддержка
- символ
- взять
- принимает
- с
- говорить
- команды
- Технический
- Технологии
- Терминал
- testnet
- Ассоциация
- Основы
- их
- Там.
- следовательно
- вещи
- Через
- время
- в
- знак
- Лексемы
- сделка
- скорость транзакции
- правда
- учебник
- незнакомый
- URL
- использование
- Информация о пользователе
- Пользовательский опыт
- пользователей
- утилита
- различный
- Свечи
- версия
- с помощью
- Видео
- видимость
- W3
- Кошелек
- способы
- Web3
- WebP
- , которые
- в то время как
- КТО
- широкий
- Широкий диапазон
- будете
- стоимость
- записывать
- письмо
- Ты
- ВАШЕ
- себя
- зефирнет