写一个solidity接口 erc721
时间: 2024-09-29 10:05:30 浏览: 45
solidity-token-ERC20
在 Solidity 中,编写一个 ERC721 接口(也称为抽象合约)主要是为了提供一个通用的结构,其他的实现者可以按照这个接口来构建他们的 ERC721 合约。ERC721 是 Ethereum 上的一种标准协议,专用于非同质化代币(NFTs)。以下是创建一个基本的 ERC721 接口的示例:
```solidity
pragma solidity ^0.8.0;
interface IERC721 {
// ERC721 ID Token Standard Methods
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function balanceOf(address owner) external view returns (uint256);
// Transfer ownership of an NFT
function transferFrom(address from, address to, uint256 tokenId) external;
// Safe way to check if a token exists and can be transferred
function safeTransferFrom(address from, address to, uint256 tokenId) external;
// Approve another account to spend your NFT on behalf of you
function approve(address spender, uint256 tokenId) external;
// Check if approved by the current owner
function isApprovedForAll(address owner, address operator) external view returns (bool);
// Return true if the given token id is owned by the msg.sender
function owns(uint256 tokenId) external view returns (bool);
}
```
这个接口包含了 ERC721 标准的主要功能,如查看名称、代号、所有者的余额,转移令牌,批准他人操作以及检查所有权等。任何想要支持 ERC721 功能的合约都需要实现这个接口。
阅读全文