您的位置 首页 java

智能合约_web3j生成java合约类

背景:


  1. sol文件已经被编译成了.abi 和 .bin文件
  2. 已经安装了web3j的命令

否则,请查看前2篇文章。

一、根据abi文件和bin文件生成java合约类

语法:

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

例子:例:

web3j solidity generate

-b D:side-meuniverseuniversesoliditysrcmainresourcesHeroNFT.bin

-a D:side-meuniverseuniversesoliditysrcmainresourcesHeroNFT.abi

-o D:side-meuniverseuniversesoliditysrcmain

-p com.god.contract

注意:-o 是文件根目录,-p的包名会自动创建文档结构。

智能合约_web3j生成java合约类

二、检查结果

智能合约_web3j生成java合约类

三、心路历程

接到任务要java调用合约铸造NFT,合约是什么鬼?java如何调用?通过什么协议调用?

一头雾水,咋办呢?

抉择:

1)、通过java直接继承Contract类(前提引入pom依赖),根据与合约的约定,自定义合约类。无奈是新手,不知道BINARY是啥,也不知道如何重写类。遂放弃。

2)、通过系统自动生成java合约类的方式。合约,.abi和.bin和web3j命令转换。

曲折的道路就此展开:

首先、确定啥是合约,做合约的哥们发给了合约的截图,原来就是一个定义,用.sol后缀命名的文件。

好办,咱们是java出身,idea有没有什么好的办法呢,google一直在帮大忙。

安装solidity插件,配置solc环境变量,一气呵成,编译成了.abi和.bin文件

其次、安装web3j命令

最后:生成java合约类。

接下来就是合约的部署和调用了, がんばれ!

补充 :关注java pom的版本号

 <dependency>
  <groupId>org.web3j</groupId>
  <artifactId>core</artifactId>
  <version>5.0.0</version>
</dependency>  

文章来源:智云一二三科技

文章标题:智能合约_web3j生成java合约类

文章地址:https://www.zhihuclub.com/180196.shtml

关于作者: 智云科技

热门文章

网站地图