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原始檔,定義源目標路徑或更改包名稱。
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的 ofollow,noindex">帖子 。簡而言之:要獲取生成的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外掛