Contract Definition
Solidity 合约经常通过继承 Ownable、ERC20、ERC721 等基类来获得能力。Move 不使用继承,而是通过模块、导入和框架标准来组合能力。
Solidity
Section titled “Solidity”import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract DutchAuction is Ownable, ERC721 { // ...}[package]name = "dutch_auction"version = "1.0.0"
[addresses]dutch_auction_address = "_"
[dependencies.AptosFramework]git = "https://github.com/aptos-labs/aptos-framework"rev = "mainnet"subdir = "aptos-move/framework/aptos-framework"迁移时的对应关系是:
- 继承变成对框架模块的组合使用
- ERC-20 变成 Fungible Asset
- ERC-721 变成 Digital Asset
- ownership 规则变成显式的 signer 检查和链上配置
这是 Move 最典型的差异之一:不再“继承合约”,而是“组装能力”。