<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
web3j 是一个针对java的开发工具。web3j command line 可以用来创建钱包、转账、查询余额以及包括智能合约编译、根据智能合约生成对应的java文件。
web3j command line下载地址(我目前最新的版本是3.4.0):
https://github.com/web3j/web3j/releases/tag/v3.4.0
下载后解压缩,可以看到里面有2个文件夹:bin、lib
然后命令行进入到bin目录,就可以使用web3j的命令啦。
npm install -g solc
配置环境变量,任何目录都可访问命令:solcjs
用 solc 编译生成 .bin .abi 文件 命令:
> solcjs <Solidity****文件地址>.sol --bin --abi --optimize -o <输出文件夹路径>/
实例:这里以 SimpleStorage.sol 文件为例
solcjs SimpleStorage.sol --abi --bin -o ./
用 web3j 生成 java 封装器 命令:
web3j solidity generate --solidityTypes <****智能合约编译之后的.bin文件的地址>.bin <智能合约编译之后的.abi文件的地址>.abi -o /path/to/src/main/java -p com.your.organisation.name
-o 后接生成好的java文件放置的位置,-p 后接生成的java文件的包名
注意:.bin .abi文件顺序不能反,否则会报错
实例:使用我们之前生成的文件,将 java 文件生成到我们的项目中:
web3j solidity generate --solidityTypes Compute_sol_Compute.bin Compute_sol_Compute.abi -o ./project/src/main/java -p com.demo
输出如下信息后,可以在我们指定的路径看见生成好的 java 文件