通过solc编译器编译solidity代码到字节码。你可以参考solidity安装文档在本地安装编译器。
编写solidity代码运行:
$ solc <contract>.sol --bin --abi --optimize -o <output-dir>/
bin
和ABI
编译器参数都需要充分利用web3j中的智能合约。
- bin,输出包含十六进制编码的solidity二进制文件以提供交易请求。
- ABI,输出一个solidity的应用程序二进制接口(ABI)文件,它详细描述了所有可公开访问的合约方法及其相关参数。这些细节和合约地址对于智能合约的交互是至关重要的。ABI文件也用于封装solidity的智能合约。
这里也有一个gas论证,用来提供智能合约所需gas的估计值,并用它的方法进行交易。
你可以通过solidity的浏览器项目Remix在浏览器中编写和编译solidity代码。使用solidity浏览器项目Remix IDE对于较小的智能合约来说是很好的,但是你遇到与较大的智能合约相关的问题。
还可以通过以太坊客户端(如geth和Parity)编译solidity代码,web3j中也支持使用JSON-RPC方法 eth_compileSolidity。然而,必须在客户端上安装solidity编译器,这样它才能正常工作。
还有更多的选择,请参阅官网文档中的相关章节。
原文《Java以太坊类库web3j官网中文翻译》中的:
http://cw.hubwiz.com/card/c/web3j/1/12/6/
另外推荐几个很受欢迎全网稀缺的互动教程: