如何用web3j编译solidity智能合约源代码

  1. 云栖社区>
  2. 博客>
  3. 正文

如何用web3j编译solidity智能合约源代码

马拉喀什 2018-07-21 14:31:27 浏览2278
展开阅读全文

通过solc编译器编译solidity代码到字节码。你可以参考solidity安装文档在本地安装编译器。

编写solidity代码运行:

$ solc <contract>.sol --bin --abi --optimize -o <output-dir>/

binABI编译器参数都需要充分利用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/

另外推荐几个很受欢迎全网稀缺的互动教程:

  • web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。

网友评论

登录后评论
0/500
评论
马拉喀什
+ 关注