Solidity 编程:地址相关函数、特殊函数及异常处理
1. 地址相关函数
地址类型在智能合约中是常用类型,它有助于存储所有权细节,还能通过其方法(如 transfer
、 send
和 call
)进行所有权转移。以下是几种地址相关函数的介绍:
- callcode
方法 :该函数已被弃用,在 Solidity 0.5.0 版本之后不再可用。更多关于 callcode
的信息可查看相关文档。
- delegatecall
方法 :这是一个底层函数,用于调用另一个合约中的函数,与 call
函数类似,但常用于与 Solidity 库结合使用。Solidity 库不声明状态变量,由一组可重用函数组成,这些函数可访问使用该库的合约的状态变量。以下是使用 delegatecall
方法调用库函数的示例代码:
function SimpledelegateCallwithGas(address libAddress)
public returns (bool) {
bytes memory payload = abi.encodeWithSignature
("sum(uint256,uint256)", 10,10);
(bool success, bytes memory returnData