java 部署智能合约_java使用web3j调用部署在以太坊上solidity编写的智能合约

第一步:安装web3j和solidity

1. npm install -g solc

2. pom.xml文件引入依赖:

org.web3j

core

3.4.0

第二步:web3j生成java文件:

1. 下载web3j包:

https://github.com/web3j/web3j/releases

2. 进入到web3j-3.3.1/bin目录下,创建 aa.abi 和 aa.bin文件

3. 进入到cmd, 输入:

web3j solidity generate aa.bin aa.abi -o /c:/Users/ib/Desktop/web3j/web3j-3.3.1/bin  -p com.your

4. 再com.your目录下会生成一个Aa.java文件,将此文件拷贝到项目中去

第三步:java使用web3j调用合约里面方法

1. 创建web3j对象:

Web3j web3j = Web3j.build(new org.web3j.protocol.http.HttpService(合约地址));

2. 获取当前gas价格:

BigInteger gasPrice = web3j.ethGasPrice().sendAsync().get().getGasPrice();

3. 设置自己的账户:

3.1 随便找个生成钱包网站,然后创建钱包,设置密码和keystore

3.2 设置keystore文件路劲:

String filePath = "keystore/keystore";

本地的话,这样设置需要将keystore存放在:/target/class/

String proPath = ResourceUtils.getURL("classpath:").getPath() + filePath;

3.3 对keystore进行操作:

Credentials credentials = WalletUtils.loadCredentials("密码",proPath.substring(1));

3.4 创建合约对象:

Aa aa= Aa.load("合约地址",web3j,credentials, gasPrice,BigInteger.valueOf(3000000));

3.5 调用合约方法:

String str= mapContract.checkAddress("1").sendAsync().get();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值