java以太坊库web3j的maven插件
web3j maven插件用于基于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源文件,定义源目标路径或更改包名称。
image
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}
前缀。
======================================================================
分享一些以太坊、EOS、比特币等区块链相关的交互式在线编程实战教程:
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
- 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
- EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
- php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
- tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
汇智网原创翻译,转载请标明出处。这里是原文web3j的maven插件
java以太坊库web3j的maven插件相关推荐
- 以太坊java接口_java以太坊库web3j文档
通过java打包以太坊智能合约 Web3j可以自动打包智能合同代码,以便在不脱离JVM的情况下进行以太坊智能合同部署和交互. 要打包代码,需要先编译智能合同: $ solc .sol --bin -- ...
- java 以太坊 智能合约_web3j教程:java使用web3j开发以太坊智能合约交易
从广义上讲,有web3j支持三种类型的以太坊交易: 1.以太币从一方交易到另一方 2.创建一个智能合约 3.与智能合约交易 为了进行这些交易,必须有以太币(以太坊区块链的代币)存在于交易发生的以太坊账 ...
- 使用C# 和基于.Net的以太坊库Nethereum以太坊及智能合约交互实战篇(一)
官网:Nethereum官网 Github地址:Github上的Nethereum库 简介: Nethereum是用于Ethereum的.Net集成库,可简化智能合约管理以及与以太坊节点的交互,无论这 ...
- java以太坊源码分析_以太坊区块链Java(EthereumJ)学习笔记:区块链结构-Go语言中文社区...
本文对EthereumJ的区块链相关的代码做一个简单的介绍. 以太坊区块链 以太坊区块链是在Bitcoin区块链的基础上发展起来的.区块链的数据结构既保留了Bitcoin区块链验证数据的真实性和完整性 ...
- 以太坊中web3j调用公链超时问题,重构httpservice即可
在学习使用java集成web3j调用eth公链出现以下问题:SocketTimeoutException异常,具体的异常错误就不截图了,主要是执行下面代码发送的 Web3j.build(new Htt ...
- Infura Http 客户端 以太坊 交易
web3j Infura 模块提供了一个Infura Http 客户端(InfuraHttpService),它为Infura特定的Infura-Ethereum-Preferred-Client提供 ...
- web3j的Gradle插件(solidity以太坊智能合约)
web3j Gradle插件是从Solidity智能合约生成web3j Java封装的构建工具.它通过添加可以独立运行的特定任务,顺利地与项目的构建生命周期集成. 插件配置 在开始之前,如果计算机中尚 ...
- 以太坊java开发指南_java以太坊开发库ethereumj
EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义. 我们尽可能 ...
- java开发以太坊应用的库ethereumj
EthereumJ是以太坊协议的纯Java实现.有关以太坊及其目标的高级信息,请访问ethereum.org,其白皮书提供了一个完整的概念的概述,和黄皮书一起提供了协议的正式定义. 我们尽可能保持Et ...
最新文章
- 开源250FPS的人脸106特征点,3.3M模型
- Linux系统详解 系统的启动、登录、注销与开关机
- hive快还是mysql快_HBase相对Hive查询速度快的对比
- 浅谈身为小白学习Linux系统的四点实用建议
- jackson.ObjectMapper里enableDefaultTyping方法过期
- 经典算法笔记:无监督算法(聚类、降维)
- QPainter 的状态保存与恢复
- mongodb身份验证_MongoDB身份验证
- Java的编年史和低延迟
- 第一套数字电子计算机,计算机试题第一套
- 从0开始Vue2集成Bootstrap4(1)
- 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
- UIActionSheet的最后一项点击失效
- Javascript访问Cookie的四个常用方法
- 日期转换 EEE MMM dd HH:mm:ss zzz yyyy
- python里面break放在哪_python中break怎么用
- python程序员面试宝典:12个Python程序员面试必备问题与答案
- ChatGPT 使用 强化学习:Proximal Policy Optimization算法(详细图解)
- aop - spring如何选择、创建代理bean
- 机器学习100天(三十七):037 朴素贝叶斯-挑个好西瓜!