Any contract that follows the ERC-721 standard is an ERC-721 token.
Here is the interface for ERC-721.
1interface ERC721 {
2 event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
3 event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
4 event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
5
6 function balanceOf(address _owner) external view returns (uint256);
7 function ownerOf(uint256 _tokenId) external view returns (address);
8 function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
9 function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
10 function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
11 function approve(address _approved, uint256 _tokenId) external payable;
12 function setApprovalForAll(address _operator, bool _approved) external;
13 function getApproved(uint256 _tokenId) external view returns (address);
14 function isApprovedForAll(address _owner, address _operator) external view returns (bool);
15}1interface ERC721 {
2 event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
3 event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
4 event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
5
6 function balanceOf(address _owner) external view returns (uint256);
7 function ownerOf(uint256 _tokenId) external view returns (address);
8 function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
9 function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
10 function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
11 function approve(address _approved, uint256 _tokenId) external payable;
12 function setApprovalForAll(address _operator, bool _approved) external;
13 function getApproved(uint256 _tokenId) external view returns (address);
14 function isApprovedForAll(address _owner, address _operator) external view returns (bool);
15}Example implementation of an ERC-721 token contract written in Rust.
1Loading...1Loading...1Loading...1Loading...1Loading...1Loading...1Loading...1Loading...