Web3j使用教程

1 网站

https://web3j.io/

2 Maven程序中引用

<dependency>

<groupId>org.web3j</groupId>

<artifactId>core</artifactId>

<version>3.4.0</version>

</dependency>

3 安装命令行工具

web3j 是一个针对java的开发工具。web3j command line 可以用来创建钱包、转账、查询余额以及包括智能合约编译、根据智能合约生成对应的java文件。

web3j command line下载地址(我目前最新的版本是3.4.0):

https://github.com/web3j/web3j/releases/tag/v3.4.0

下载后解压缩,可以看到里面有2个文件夹:bin、lib

然后命令行进入到bin目录,就可以使用web3j的命令啦。

4 solidity编译工具安装

npm install -g solc

配置环境变量,任何目录都可访问命令:solcjs

5 生成封装器

用 solc 编译生成 .bin .abi 文件 命令:

> solcjs <Solidity****文件地址>.sol --bin --abi --optimize -o <输出文件夹路径>/

实例:这里以 SimpleStorage.sol 文件为例

solcjs SimpleStorage.sol --abi --bin -o ./

用 web3j 生成 java 封装器 命令:

web3j solidity generate --solidityTypes <****智能合约编译之后的.bin文件的地址>.bin <智能合约编译之后的.abi文件的地址>.abi -o /path/to/src/main/java -p com.your.organisation.name

-o 后接生成好的java文件放置的位置,-p 后接生成的java文件的包名

注意:.bin .abi文件顺序不能反,否则会报错

实例:使用我们之前生成的文件,将 java 文件生成到我们的项目中:

web3j solidity generate --solidityTypes Compute_sol_Compute.bin Compute_sol_Compute.abi -o ./project/src/main/java -p com.demo

输出如下信息后,可以在我们指定的路径看见生成好的 java 文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏haifeiWu与他朋友们的专栏

I-team博客的gitlab-runner持续集成实践

做为一个略微看过nodejs语法,但又不懂nodejs的攻城狮,搭建hexo环境很是麻烦,要考虑到翻墙、版本兼容等问题。于是乎,博主每换一个电脑,为了能继续发博...

1561
来自专栏Pythonista

centos下redis安全相关

由于发现众多同学,在使用云服务器时,安装的redis3.0+版本都关闭了protected-mode,因而都遭遇了挖矿病毒的攻击,使得服务器99%的占用率!!

1662
来自专栏JavaEdge

ZooKeeper分布式入门实战(三)-基本特性1 zookeeper常用命令行操作2 session的基本原理与create命令的使用3 set与delete命令的使用4 zk特性 – 理解watc

1072
来自专栏测试驿栈

JMeter(十三)-代理服务器录制脚本

3:在Requests FIltering下添加排除模式,配置正则表达式。否则会录制出很多凌乱的请求。

2822
来自专栏python3

socket作业——聊天系统

4. 登录成功之后,能执行相应的操作(查看所有用户,查看我的好友,添加我的好友,删除我的好友,退出)

1281
来自专栏抠抠空间

爬虫之FileCookieJar

1860
来自专栏沈唁志

怎么快速集成QQ微博等第三方授权登录功能?

日常项目中经常会用到QQ授权登录或者微信授权登录,方便了用户,否则需要手机验证码等等的操作,授权登录只需要一键操作

1171
来自专栏蓝天

Haodoop RPC解析

RPC是对外的接口类,主要提供两个方法:getProxy和getServer。

921
来自专栏JetpropelledSnake

SNMP学习笔记之SNMPWALK 安装与使用详解

snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过sn...

3331
来自专栏racaljk

静态库(.a)与动态库(.so)的简明介绍

gcc有很多关于静态库,动态库的选项如-l,-L,-fPIC,-shared -Wl,-soname,看着很复杂容易混淆,其实静态库和动态库都是应需而生,只要有...

1775

扫码关注云+社区

领取腾讯云代金券