实战指南
/
Feb 09, 2026
Step 6 06. NFT 开发指南:将艺术品上链 (ERC-721)
<!-- Title: 06. NFT 开发指南:将艺术品上链 (ERC-721) -->
<!-- Series: Web3 DApp 开发实战 (ID: 13) -->
<!-- Author: admin -->
# NFT 开发指南:将艺术品上链 (ERC-721)
## 1. 非同质化代币
ERC-20 是同质化的(你的 1块钱和我的 1块钱没区别)。
ERC-721 是非同质化的(Token ID 1 和 Token ID 2 是不同的,比如两张不同的画)。
## 2. 核心元数据 (Metadata)
NFT 本身不存储图片(太贵)。
它存储的是一个 **URI**(通常指向 IPFS)。
这个 URI 返回一个 JSON:
```json
{
"name": "Cool Cat #1",
"image": "ipfs://Qm...",
"attributes": [{"trait_type": "Eyes", "value": "Blue"}]
}
```
## 3. 实战代码
```solidity
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
contract MyNFT is ERC721URIStorage {
uint256 private _tokenIds;
constructor() ERC721("MyArt", "ART") {}
function mint(address player, string memory tokenURI) public returns (uint256) {
_tokenIds++;
_mint(player, _tokenIds);
_setTokenURI(_tokenIds, tokenURI);
return _tokenIds;
}
}
```
## 4. 结语
NFT 改变了数字艺术的版权逻辑。
它不仅是 JPG,它是**数字所有权**的凭证。
P
潘卫
南京市沉思波网络科技有限责任公司创始人、CEO
您的观点 (可选)
🎁 注册账号,同步您的个性化学习路径