如果在Solidity中定义了一个接口,但其中一个方法的实现与原始接口定义不匹配,则生成的二进制文件将是空白的。
在下面的例子中:
contract Web3jToken is ERC20Basic, Ownable {
...
function transfer(address _from, address _to, uint256 _value) onlyOwner returns (bool) {
...
}
我们忘记了在一个继承的合同中定义from参数:
contract ERC20Basic {
...
function transfer(address to, uint256 value) returns (bool);
...
}
solidity编译器不会在乎这一点,但是,web3jToken所生成的二进制文件将是空白的。
原文《Java以太坊类库web3j官网中文翻译》中的:
http://cw.hubwiz.com/card/c/web3j/1/12/6/
另外推荐几个很受欢迎全网稀缺的互动教程:
本文探讨了在Solidity中定义接口时方法签名的重要性,特别是当这些接口被用于生成web3j所需的ABI时。文章通过一个具体示例说明了如果方法签名与原始接口不匹配,将导致编译后的二进制文件为空的问题。
1782

被折叠的 条评论
为什么被折叠?



