Solidity
為什麼我的 web3j 包裝器無法生成?
我已經創建了一個可靠的智能合約,我用 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
嘗試使用 https://remix.ethereum.org/ 作為 IDE。它會告訴你問題出在哪裡(缺少大括號)