Solidity

為什麼我的 web3j 包裝器無法生成?

  • December 12, 2019

我已經創建了一個可靠的智能合約,我用 solc 將它編譯成一個 .bin 和一個 .abi 文件。但是,當我在 .abi 和 .bin 文件上執行生成器時,它會返回一個 JSONParseException 引用意外字元。io 這是我的智能合約:

   pragma solidity ^0.4.9;

   contract Contract {

     address public creator;


     event Log(uint256 id);


     function Contract() {
       creator = msg.sender;
     }

     function kill() {
       selfdestruct(creator);
     }

     function add(uint256 id) {
       Log(id);
   }
  }

剛試過你的契約。這似乎是正確的,我能夠成功地創建一個包裝器。這是我所做的:

ContractName.sol您的源文件放入d:\tmp>該目錄中,然後從命令行執行以下命令:

d:\tmp>solc ContractName.sol --bin --abi --optimize -o .

在同一目錄中生成 .abi 和 .sol 文件。然後:

d:\tmp>web3j solidity generate --binFile=Contract.bin --abiFile=Contract.abi -o . -p org.your.package.name

在以下目錄下生成了一個包裝器(根據命令行中提供的包結構):

d:\tmp\org\your\package\name\Contract.java

一切似乎都很好,你應該能夠創建你的。我安裝了這裡描述colcweb3j工具: solcweb3j

嘗試使用 https://remix.ethereum.org/ 作為 IDE。它會告訴你問題出在哪裡(缺少大括號)

引用自:https://ethereum.stackexchange.com/questions/27687