web3j maven插件用於基於solidity智能合約文件建立java類。java
插件的基本配置將從src/main/resources
獲取solidity文件,並將java類生成到src/main/java
文件夾中。android
<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
:git
mvn web3j:generate-sources
有幾個變量用於選擇solidity源文件,定義源目標路徑或更改包名稱。程序員
outputDirectory
的配置優先於sourceDestination
。github
建立一個標準的java maven項目。將如下<plugin>
配置添加到pom.xml
文件中:web
<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
結尾。編程
開始生成過程:maven
> 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和android程序員進行區塊鏈以太坊開發的web3j詳解。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
匯智網原創翻譯,轉載請標明出處。這裏是原文web3j的maven插件