这篇文章主要介绍“怎么基于solidity智能合约文件创建java类”,在日常操作中,相信很多人在怎么基于solidity智能合约文件创建java类问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么基于solidity智能合约文件创建java类”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
插件的基本配置将从src/main/resources
获取solidity文件,并将java类生成到src/main/java
文件夹中。
<build> <plugins> <plugin> <groupId>org.web3j</groupId> <artifactId>web3j-maven-plugin</artifactId> <version>0.3.7</version> <configuration> <soliditySourceFiles/> </configuration> </plugin> </plugins> </build>
运行插件执行目标generate-sources
:
mvn web3j:generate-sources
有几个变量用于选择solidity源文件,定义源目标路径或更改包名称。
outputDirectory
的配置优先于sourceDestination
。
创建一个标准的java maven项目。将以下<plugin>
配置添加到pom.xml
文件中:
<plugin> <groupId>org.web3j</groupId> <artifactId>web3j-maven-plugin</artifactId> <version>0.3.7</version> <configuration> <packageName>com.zuehlke.blockchain.model</packageName> <sourceDestination>src/main/java/generated</sourceDestination> <nativeJavaType>true</nativeJavaType> <outputFormat>java,bin</outputFormat> <soliditySourceFiles> <directory>src/main/resources</directory> <includes> <include>**/*.sol</include> </includes> </soliditySourceFiles> <outputDirectory> <java>src/java/generated</java> <bin>src/bin/generated</bin> <abi>src/abi/generated</abi> </outputDirectory> </configuration> </plugin>
将你的Solidity合约文件添加到文件夹src/main/resources
中。确保solidity文件以.sol
结尾。
开始生成过程:
> mvn web3j:generate-sources [INFO] --- web3j-maven-plugin:0.1.2:generate-sources (default-cli) @ hotel-showcase --- [INFO] process 'HotelShowCaseProxy.sol' [INFO] Built Class for contract 'HotelShowCaseProxy' [INFO] Built Class for contract 'HotelShowCaseV2' [INFO] Built Class for contract 'Owned' [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.681 s [INFO] Finished at: 2017-06-13T07:07:04+02:00 [INFO] Final Memory: 14M/187M [INFO] ------------------------------------------------------------------------ Process finished with exit code 0
你可以在目录src/main/java/generated/
中找到生成的java类。
下一步是与智能合约进行交互。请参阅web3j主页中文版的智能合约部署和交互。
有关多模块项目配置,请参阅@fcorneli的帖子。简而言之:要获取生成的java源文件,需要build-helper-maven-plugin配置。此外,多模块项目中需要${basedir}
前缀。
安利2个java以太坊、比特币区块链相关的交互式在线编程实战教程:
java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
到此,关于“怎么基于solidity智能合约文件创建java类”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。