java 以太坊 web3j開發環境搭建

web3j是一個輕量級的以太坊Java開發包,可用於桌面、服務器或手機應用中實現對以太坊區塊鏈智能合約的訪問。web3j開發環境包括開發測試用的節點以及web3j開發棧,本文將介紹如何在自己的機器上搭建web3j開發環境。

如果要快速掌握web3j的開發,強烈推薦匯智網的web3j以太坊開發詳解,要比硬着頭皮看官網文檔省心的多,技術問題還可以直接諮詢課程助教。

web3j開發環境的搭建分爲以下幾個步驟:

  1. 安裝以太坊開發節點:Ganache
  2. 安裝Java開發套件:OpenJDK
  3. 安裝Java項目構建工具:Gradle
  4. 安裝智能合約命令行工具:Solc和Web3j
  5. web3j應用開發調試:hello web3j

1. 安裝以太坊開發節點

web3j通過標準的以太坊RPC接口訪問節點區塊鏈,因此可以對接各種節點軟件例如geth或parity等。不過通常在開發過程中我們使用開發節點Ganache,它無須從網絡同步區塊數據,非常適合開發過程中的快速驗證。

使用npm安裝ganache:

~$ npm install -g ganache-cli

安裝完畢,直接執行即可啓動節點:

~$ ganache-cli

2. 安裝JDK

安裝openjdk或oracle的jdk都可以。在ubuntu下可以使用apt直接安裝:

~$ sudo apt-get install openjdk-8-jdk

安裝完畢,使用下面命令驗證安裝成功:

~$ java -version

3. 安裝Gradle

web3j支持maven或gradle作爲項目構建工具。本文以gradle爲例進行說明。

從gradle官網下載最新版的預編譯包,然後解壓、配置環境變量即可:

~$ wget https://gradle.org/next-steps/?version=5.1&format=bin
~$ mkdir /opt/gradle
~$ unzip -d /opt/gradle gradle-5.1-bin.zip
~$ echo PATH=/opt/gradle/bin:$PATH >> .bashrc
~$ source .bashrc

驗證安裝:

~$ gradle -version

4. 安裝智能合約開發工具

智能合約的開發工具包括以下兩個命令行軟件:

solc下載後直接可運行,例如驗證安裝:

~$ solc 

web3j命令行工具下載後先用unzip解壓,然後執行其中的web3j即可。例如:

~$ web3j

這兩個工具主要用於solidity智能合約的處理,我們暫時忽略。

5. hello,web3j

現在我們可以創建一個目錄,以及App.java和build.gradle文件,來實現web3j的hello world應用:

~$ mkdir hubwiz && cd hubwiz
~/hubwiz$ touch App.java build.gradle

編寫如下的App.java:

package com.hubwiz.demo;

import org.web3j.protocol.Web3j;
import org.web3j.protocol.http.HttpService;
import org.web3j.protocol.core.Request;
import org.web3j.protocol.core.methods.request.*;
import org.web3j.protocol.core.methods.response.*;

public class App{
  public static void main(String[] args) throws Exception{
    Web3j web3j =  Web3j.build(new HttpService("http://localhost:8545"));
    Request<?,Web3ClientVersion> request = web3j.web3ClientVersion();
    Web3ClientVersion web3ClientVersion = request.send();
    String clientVersion = web3ClientVersion.getWeb3ClientVersion();
    System.out.println(clientVersion);
  }
}

然後再build.gralde中聲明依賴包:

dependencies {
  compile 'org.web3j:core:3.3.0',
          'ch.qos.logback:logback-core:1.2.3',
          'ch.qos.logback:logback-classic:1.2.3'
}

現在打開一個終端,啓動節點:

~$ ganache-cli

然後打開另一個終端,運行我們的java應用:

~/hubwiz$ gradle run

如果你看到這個簡單的web3j以太坊應用在終端成功輸出節點軟件ganache的版本信息,就表示我們的web3j開發環境搭建成功了!


匯智網原創,轉載請標明出處。

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