Solidity 练习:接口
睡不醒的鲤鱼 2022-12-29 Web3 Solidity
# 一、题目说明
接口能使合约无需代码即可调用其他合约。
# 二、任务列表
- 完成 CallInterface 中的函数 dec(address _test)。
- 该函数通过使用 ITestInterface 接口调用 TestInterface.dec。
- 你要在 ITestInterface 接口中声明一个新的函数。
# 三、解答代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
// You know what functions you can call, so you define an interface to TestInterface.
interface ITestInterface {
function count() external view returns (uint);
function inc() external;
function dec() external;
}
// Contract that uses TestInterface interface to call TestInterface contract
contract CallInterface {
function examples(address _test) external {
ITestInterface(_test).inc();
uint count = ITestInterface(_test).count();
}
function dec(address _test) external {
ITestInterface(_test).dec();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23