ERC721 开源项目教程
1. 项目的目录结构及介绍
/erc721
├── contracts
│ ├── ERC721.sol
│ ├── ERC721Enumerable.sol
│ ├── ERC721Metadata.sol
│ └── interfaces
│ ├── IERC721.sol
│ ├── IERC721Enumerable.sol
│ └── IERC721Metadata.sol
├── migrations
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── test
│ ├── ERC721.test.js
│ └── utils
│ └── helpers.js
├── truffle-config.js
└── package.json
目录结构说明
- contracts: 包含所有智能合约文件,包括主要的 ERC721 合约及其扩展和接口。
- migrations: 包含部署合约的脚本。
- test: 包含合约的测试文件及辅助工具。
- truffle-config.js: Truffle 配置文件。
- package.json: 项目依赖及脚本配置。
2. 项目的启动文件介绍
启动文件
- truffle-config.js: 这是 Truffle 框架的配置文件,用于配置网络、编译器版本等。
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*",
},
},
compilers: {
solc: {
version: "0.8.0",
},
},
};
启动步骤
- 安装依赖:
npm install
- 编译合约:
truffle compile
- 部署合约:
truffle migrate
- 运行测试:
truffle test
3. 项目的配置文件介绍
配置文件
- package.json: 包含项目的依赖、脚本和其他元数据。
{
"name": "erc721",
"version": "1.0.0",
"description": "ERC721 Token Example",
"main": "truffle-config.js",
"scripts": {
"compile": "truffle compile",
"migrate": "truffle migrate",
"test": "truffle test"
},
"author": "",
"license": "MIT",
"dependencies": {
"@openzeppelin/contracts": "^4.0.0",
"truffle": "^5.3.0"
}
}
配置说明
- dependencies: 项目依赖的包,如 OpenZeppelin 合约库和 Truffle 框架。
- scripts: 定义了常用的脚本命令,如编译、部署和测试合约。
通过以上步骤,您可以顺利地编译、部署和测试 ERC721 智能合约。