ERC-721 уже довольно давно является центром притяжения, поскольку он обеспечивает подключение безопасных блокчейн-сетей к онлайн-играм с «криптовалютами». С момента запуска Cryptokitties цифровые предметы коллекционирования, которые совместимы и соответствуют стандарту ERC-721, были довольно популярны, продвигаясь вперед в своем массовом использовании.
В основном токены NFT были созданы с помощью одного из двух стандартов токенов Ethereum, а именно ERC-721 и еще одного чертежа ERC-1155, который Ethereum создал, чтобы позволить разработчикам программного обеспечения удобно развертывать NFT, обеспечивая их совместимость с более широкой экосистемой.
Что такое NFT?
NFT или Non-Fungible Token можно описать как неделимый и отдельный актив криптовалюты. Они не придерживаются атрибута взаимозаменяемости, который можно использовать для продажи на открытом рынке. NFT состоит из идентифицирующей информации, хранящейся в смарт-контрактах. С помощью этой информации появляется реальная возможность различать NFT, что делает каждый NFT незаменимым.
NFT поддерживаются двумя конкретными стандартами токенов, а именно «ERC-721» и «ERC-1155». ERC-721 был первым в истории стандартом токенов для поддержки нефункциональных цифровых активов. Он также известен как стандарт смарт-контрактов Solidity, который является наследуемым. Поэтому разработчики могут воспользоваться помощью библиотеки Open Zeppelin для создания новых совместимых контрактов. ERC-1155 - это еще один стандарт для NFT, который дает им полузаменяемость. ERC-1155 также расширяет возможности ERC-721, помогая в создании активов ERC-721 с использованием стандарта ERC-1155.
Что вы понимаете под ERC-721?
Полная форма ERC - это Ethereum Request for Comment, а 721 в «ERC-721» - это числовой идентификатор предложения. ERC - это руководство на уровне приложений в сети Ethereum; его можно использовать для определения спецификаций смарт-контрактов для таких токенов, как ERC-20. Автор ERC несет ответственность за достижение консенсуса в сообществе Ethereum, и после того, как сообщество завершит предложение, оно становится стандартом. ERC-721 был предназначен для облегчения отслеживания и передачи нефидуциарных токенов в смарт-контрактах.
ERC-721 - это открытый стандарт, который определяет, как создавать не взаимозаменяемые токены на блокчейнах, совместимых с EVM (виртуальная машина Ethereum); он также служит стандартным интерфейсом для Non-Fungible Tokens и включает набор правил, упрощающих работу с NFT. Невзаимозаменяемые токены (NFT) не ограничиваются стандартом ERC-721; они также могут быть токенами ERC-1155.
ERC-721 определяет несколько функций, совместимых с ERC-20. Это упрощает процесс отображения базовой информации токенов в существующих кошельках.
Каковы функции ERC-721?
Функции аналогичны ERC-20
Обязанности собственника
Функция метаданных
События
Каковы шаги по созданию и развертыванию токенов ERC-721?
Теперь, когда мы знакомы с концепцией ERC-721, давайте продолжим и разберемся с этапами создания и развертывания токена ERC-721.
Шаг 1. Получение тестового ETH
Мы будем использовать тестовую сеть Ropsten для развертывания нашего контракта. Чтобы начать этот процесс, вам понадобится расширение браузера с именем Metamask из сборщика Ropsten, чтобы создать тестовый ETH и кошелек ETH.
Затем выберите опцию тестовой сети Ropsten (или просто перейдите по адресу faucet.metamask.io), доступную в кошельке Metamask, скопируйте адрес кошелька в следующее указанное поле, а затем нажмите опцию получения тестового эфира.
Шаг 2: добавление файлов в IPFS
Следующим шагом будет добавление файлов в IPFS. Нам нужно будет разместить наше искусство для NFT и создать файл метаданных перед написанием контракта NFT, мы будем использовать распределенную систему однорангового хранения и совместного использования файлов (IPFS).
Начните с загрузки IPFS, а затем установите его в соответствии с операционной системой.
Выполните следующие шаги, чтобы разместить изображение и файл метаданных:
$ ipfs init
$ ipfs daemon
$ ipfs add art.png
Затем скопируйте хеш, начиная с Qm, и добавьте префикс «https://ipfs.io/ipfs/».
Ознакомьтесь с форматом файла JSON, упомянутым ниже:
name: NFT Art
description: This image shows accurate nature of NFT
image: https://ipfs.io/ipfs/QmZzBdKF7sQX1Q49CQGmreuZHxt9sVB3hTc3TTXYcVZ7jC
$ ipfs add nft.json
Затем скопируйте хеш, начиная с Qm, и добавьте префикс «https://ipfs.io/ipfs/». Результат будет выглядеть так:
https://ipfs.io/ipfs/QmUFbUjAifv9GwJo7ufTB5sccnrNqELhDMafoEmZdPPng7
Мы сохраним этот URL-адрес, так как он будет использован позже при чеканке токенов.
Шаг 3: Создание токена
Мы будем использовать контракт ERC-721 для плавного процесса создания NFT. С 0xcert / ethereum-erc721 нам не нужно писать весь интерфейс ERC-721. Вместо этого мы можем импортировать контракт библиотеки и использовать его функции.
Перейдите к IDE Ethereum, а затем создайте файл solidity, например - nft.sol.
Затем начните импортировать нижеупомянутый код в ваш недавно созданный скрипт solidity.
// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;
import https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol,
import https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol,
contract newNFT is NFTokenMetadata, Ownable {
constructor() {
nftName = Synth NFT;
nftSymbol = SYN;
}
function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
super._mint(_to, _tokenId);
super._setTokenUri(_tokenId, _uri);
}
}
Вышеупомянутый код можно понимать как
Скомпилируйте смарт-контракт и разверните его, используя внедренный Web3 (не забудьте выбрать тестовую сеть Ropsten в Metamask перед компиляцией контракта). Подтвердите транзакцию из метамаск.