天天看点

solidity生成了智能合约封装包,但是智能合约的二进制文件为什么空的?

如果在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/

另外推荐几个很受欢迎全网稀缺的互动教程:

  • web3j ,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • python以太坊 ,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • php以太坊 ,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • 以太坊开发 ,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程 ,主要介绍智能合约与dapp应用开发,适合入门。