智能合约.sol编译成.java
本文主要使用solc和web3j来进行编译
使用npm安装solc (这里的先决条件要安装nodejs才能使用npm)
npm install -g solc
切换到合约目录,进行编译(我自己的合约在E:\learnDemo\Web3j\src\main\resources下)
E:\learnDemo\Web3j\src\main\resources>solcjs --abi --bin HelloWorld.sol -o build
编译生成abi和bin,在同级的build目录下   安装web3j 下载安装包,并解压到合适的位置,并配置环境变量(这里可以参考jdk的安装配置方法) web3j-4.3.0
注意,这里如果安装的是4.3.0的版本,后期在项目的maven中也要使用相同的版本,否则会出现一部分包无法找到的报错

检查安装是否成功,出现版本号即可
web3j version
切换到刚才生成的build目录下,使用web3j工具进行编译
web3j solidity generate -b ./HelloWorld_sol_HelloWorld.bin -a ./HelloWorld_sol_HelloWorld.abi -o ../../java/ -p com.eth.contract

|