web3j是一個輕量級的以太坊Java開發包,可用於桌面、服務器或手機應用中實現對以太坊區塊鏈智能合約的訪問。web3j開發環境包括開發測試用的節點以及web3j開發棧,本文將介紹如何在自己的機器上搭建web3j開發環境。
如果要快速掌握web3j的開發,強烈推薦匯智網的web3j以太坊開發詳解,要比硬着頭皮看官網文檔省心的多,技術問題還可以直接諮詢課程助教。
web3j開發環境的搭建分爲以下幾個步驟:
- 安裝以太坊開發節點:Ganache
- 安裝Java開發套件:OpenJDK
- 安裝Java項目構建工具:Gradle
- 安裝智能合約命令行工具:Solc和Web3j
- 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開發環境搭建成功了!
匯智網原創,轉載請標明出處。