根据Remix部署合约+测试接口
一、部署合约
Remix在线部署地址:http://remix.ethereum.org/
打开指定网址后,找到 contracts 文件夹,从中选取并打开本地的 MyToken.sol 合约文件。接着,点击该文件,切换到 Solidity compiler 编译页面。由于合约文件自身的编写信息会自动加载,版本号和语言设置通常无需手动调整,保持默认状态即可。如下图所示:


如果点选了自动编译和启动优化,会自动编译。如果没有点选,就点击complie sol文件。另外,也可以根据自己需求配置语言是否为主流的Solidity,EVM版本,以及是否启动优化。如下图所示:

编译好之后,我们进入部署页面进行部署,本次我们在OK测试链进行部署,首先连接小狐狸钱包,并登录一个钱包地址,如下图设置好之后,点击deploy进行部署,如果部署成功,下面就会多出一条合约,如下图。


点开合约里面就是合约接口,一般黄色的是提交接口,蓝色的是查询接口。以下是合约中的接口:


二,测试合约接口
1.测试 mint 接口(铸造代币)
功能说明
向指定地址增发代币,仅所有者可调用,用于初始发币或增发。
操作步骤
- address to:填入接收代币的地址(如 Remix 钱包的第一个账户 0x5B…)。
- uint256 amount:填入铸造数量(如 1000000000000000000 → 1 个代币,需与合约小数位匹配,默认 18 位)。
验证逻辑
- 交易成功后:
- 调用 balanceOf(to) → 余额应增加 amount。
- 调用 totalSupply → 总供应量应增加 amount。
- 非所有者调用:交易回滚,报错 Ownable: caller is not the owner。

![]()
2. 测试 approve 接口(授权花费)
功能说明
允许 spender 地址从你的账户花费指定数量代币,为 transferFrom 做准备。
操作步骤
- address spender:填入被授权地址(如 Remix 钱包的第二个账户 0xAb…)。
- uint256 value:填入授权数量(如 500000000000000000 → 0.5 个代币)。
验证逻辑
- 交易成功后:
- 调用 allowance(yourAddress, spender) → 返回值应为 value。
- 测试边界值:
- 填 value=0 → 清除之前的授权,allowance 返回 0。

![]()
3. 测试 pause 接口(暂停合约)
功能说明
冻结合约关键功能(如转账、铸造),仅所有者可调用,用于紧急止损。
操作步骤
验证逻辑
- 交易成功后:
- 调用 paused() → 返回 true。
- 尝试调用 transfer 或 mint → 交易回滚,报错 Pausable: paused。
![]()
4. 测试 unpause 接口(恢复合约)
功能说明
解除 pause 状态,恢复合约功能,仅所有者可调用。
操作步骤
验证逻辑
- 交易成功后:
- 调用 paused() → 返回 false。
- 重新调用 transfer 或 mint → 交易应成功执行。
![]()
5. 测试 burn 接口(销毁代币)
功能说明
销毁调用者自己账户的代币,减少总供应量,任何人可调用(需有足够余额)。
操作步骤
- uint256 value:填入销毁数量(如 200000000000000000 → 0.2 个代币)。
验证逻辑
- 交易成功后:
- 调用 balanceOf(yourAddress) → 余额减少 value。
- 调用 totalSupply → 总供应量减少 value。
- 边界测试:
- 填 value > 余额 → 交易回滚,报错 ERC20: burn amount exceeds balance。

注意要与MINT创建代币的地址一致。
![]()
