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

简介: 通过solc编译器编译solidity代码到字节码。你可以参考solidity安装文档在本地安装编译器。编写solidity代码运行:$ solc .sol --bin --abi --optimize -o /bin和ABI编译器参数都需要充分利用web3j中的智能合约。

通过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应用开发,适合入门。
相关文章
|
3月前
|
存储 运维 应用服务中间件
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
74 0
|
30天前
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
7 0
|
3月前
|
前端开发 JavaScript 应用服务中间件
WEB前端有必要学会docker吗?0基础-45分钟带你学会(包含视频笔记案例源代码)
WEB前端有必要学会docker吗?0基础-45分钟带你学会(包含视频笔记案例源代码)
30 0
|
3月前
|
编解码 Ubuntu C++
WebAssembly01--web 编译FFmpeg(WebAssembly版)库
WebAssembly01--web 编译FFmpeg(WebAssembly版)库
20 0
|
4月前
|
SQL 存储 前端开发
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
Presto【部署 01】Presto服务安装配置启动验证及客户端web工具Yanagishima安装配置验证(详细配置说明+Yanagishima已编译文件分享)
78 0
|
4月前
|
JavaScript 算法 前端开发
Mac下编译dinky-web(踩坑篇)
Mac下编译dinky-web(踩坑篇)
63 0
|
10月前
|
移动开发 JavaScript 算法
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
web前端面试高频考点——Vue原理(diff算法、模板编译、组件渲染和更新、JS实现路由)
162 0
|
10月前
|
数据可视化 搜索推荐
云宇宙编辑器+Web 3D可视化引擎 源代码技术源码有公司需要吗?
元宇宙展厅在线编辑器: 我们提供一键式的元宇宙空间生成工具,支持 个性化场景搭建和多媒体内容添加。普通用 户也可以在短时间内完成数字展厅的设计和 制作,让您足不出户就可以搭建属于自己的 虚拟数字展厅。 Web 3D可视化引擎: 一种浏览器端的3D引擎技术,它可以在网页中 插入和展示3D模型,及3D场景搭建,提供节点 与组件,在网页中搭建复杂的3D场景。
|
11月前
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
53 0
|
JavaScript 区块链 数据安全/隐私保护
web3.0 社交投票dapp系统开发|DAO智能合约源代码
web3.0 社交投票dapp系统开发|DAO智能合约源代码

热门文章

最新文章