当前位置: 首页 > news >正文

web3j solidity 转java

需要使用的环境 web3j,nodejs

  • 安装编译sol工具

1

$ npm install -g solc

  • 保存为hello.sol文件到本地

1

2

3

4

5

6

7

8

pragma solidity 0.4.19

contract hello { 

function main(uint a) constant returns (uint b)  

    

        uint result = a * 8

        return result; 

    

}

  • 编译sol文件

1

2

3

4

$ solcjs <sol文件目录>   --optimize  --bin --abi --output-dir <输出目录>

//demo

$ solcjs F:\\hello.sol   --optimize  --bin --abi --output-dir F:\\

出现这种错误

1

2

Failed to write F:\F_\hello_sol_hello.bin: Error: ENOENT: no such file or directory, open 'F:\F_\hello_sol_hello.bin'

Failed to write F:\F_\hello_sol_hello.abi: Error: ENOENT: no such file or directory, open 'F:\F_\hello_sol_hello.abi'

这里有个坑,就是使用solcjs 编译智能合约文件输出到目录会有一个文件夹,这个需要手动创建,我这里输出目录到F:\\ 但是它还是要输出到F:\\F_\ 下,这里的F_文件夹需要我们创建!

  • 编译成功,记录下bin 和 abi后缀的文件
  • 使用web3j工具生成java版本的智能合约
  • web3j 命令行工具下载

1

2

3

$ web3j solidity generate <编译的bin文件地址> <编译的abi文件地址> -o <输出目录> -p <java包名>

//demo

$ web3j solidity generate F:\F_\hello_sol_hello.bin F:\F_\hello_sol_hello.abi -o E:\etheth\src\main\java -p xyz.lihang.demo.eth.sol

 PS:使用web3j命令,需要进入Release v3.3.1 · web3j/web3j · GitHub网站,下载web3j-3.3.1.tar,并解压。

   进入目录bin下,在此目录命令行执行web3j,否则web3j bash命令不存在

http://www.lryc.cn/news/153252.html

相关文章:

  • uniapp项目实战系列(3):底部导航栏与头部导航栏的配置
  • Jwt工具类
  • 计算机网络-笔记-第五章-运输层
  • java-参数传递机制
  • Python编程练习与解答 练习96:字符串是否表示整数
  • Scala的特质trait与java的interface接口的区别,以及Scala特质的自身类型和依赖注入
  • 检查js中的字符串是否可以成为回文
  • 时序预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络时间序列预测(风电功率预测)
  • WebSocket--技术文档--基本概念--《快速了解WebSocket协议》
  • flutter报错-cmdline-tools component is missing
  • torch.bmm功能解读
  • 如何使用Puppeteer进行金融数据抓取和预测
  • Linux下 Socket服务器和客户端文件互传
  • Nginx详解 第五部分:Ngnix反向代理(负载均衡 动静分离 缓存 透传 )
  • 中国行政区域带坐标经纬度sql文件及地点获取经纬度方法
  • [国产MCU]-W801开发实例-WiFi网络扫描
  • SpringBoot使用kafka事务-消费者方
  • C# 实现PictureBox从指定的文件夹内进行翻页操作
  • Eureka 注册中心的使用
  • vue3 组件通信方式
  • 淘宝商品API使用示例:如何通过调用外部API来获取淘宝商品价格销量主图详情数据
  • RK3568-android11-适配ov13850摄像头
  • 基于Sider-chatgpt3.5-编写一个使用springboot2.5连接elasticsearch7的demo程序,包括基本的功能,用模板方法
  • nodejs中如何使用Redis
  • golang append坑
  • PaddleNLP使用Vicuna
  • jackson常用操作
  • ios ipa包上传需要什么工具
  • 科目1基础知识快速入门精简
  • 安卓逆向 - 某东app加密参数还原