web3j的maven插件(solidity智能合約) 原

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的帖子。簡而言之:要獲取生成的java源文件,需要build-helper-maven-plugin配置。此外,多模塊項目中需要${basedir}前綴。

安利2個java以太坊、比特幣區塊鏈相關的交互式在線編程實戰教程:

  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如創建地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。

匯智網原創翻譯,轉載請標明出處。這裏是原文web3j的maven插件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章