В мире блокчейнов и децентрализованных приложений (DApps) невзаимозаменяемые токены (NFT) приобрели значительную популярность. ERC721 — это широко используемый стандарт для создания уникальных и неделимых NFT в блокчейне Ethereum. В этой статье мы рассмотрим различные методы работы со смарт-контрактами ERC721 NFT, а также приведем примеры кода.
- Развертывание контракта ERC721:
Чтобы начать, нам нужно развернуть контракт ERC721 в сети Ethereum. Вот пример простого контракта ERC721, написанного на Solidity:
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract MyNFTContract is ERC721 {
constructor() ERC721("MyNFT", "MNFT") {}
// Additional contract logic and token metadata
}
- Чеканка NFT:
После развертывания контракта мы можем создавать новые NFT. Каждый NFT будет иметь уникальный идентификатор токена и может представлять любой цифровой или физический актив. Вот пример функции чеканки:
function mintNFT(address _to, uint256 _tokenId) external {
_mint(_to, _tokenId);
}
- Передача NFT:
Контракты ERC721 позволяют передавать право владения NFT между разными адресами. Вот пример передаточной функции:
function transferNFT(address _to, uint256 _tokenId) external {
transferFrom(msg.sender, _to, _tokenId);
}
- Просмотр метаданных NFT.
Контракты ERC721 могут хранить дополнительные метаданные для каждого NFT, такие как имя, описание и URL-адрес изображения. Вот пример функции для получения метаданных:
function getNFTMetadata(uint256 _tokenId) external view returns (string memory) {
return tokenURI(_tokenId);
}
- Внедрение роялти.
Контракты ERC721 могут включать роялти для авторов при продаже или передаче их NFT. Вот пример функции роялти:
function setRoyaltyPercentage(uint256 _tokenId, uint256 _percentage) external {
// Set royalty percentage for a specific token ID
}
Смарт-контракты ERC721 NFT обеспечивают мощную основу для создания уникальных и неделимых цифровых активов и управления ими. В этой статье мы рассмотрели различные методы, включая развертывание контрактов, создание NFT, передачу права собственности, просмотр метаданных и внедрение роялти. Эти примеры служат отправной точкой для создания более сложных приложений NFT на блокчейне Ethereum.