web3j是一個輕量級的以太坊Java開發包,可用於桌面、服務器或手機應用中實現對以太坊區塊鏈智能合約的訪問。web3j開發環境包括開發測試用的節點以及web3j開發棧,本文將介紹如何在本身的機器上搭建web3j開發環境。java
若是要快速掌握web3j的開發,強烈推薦匯智網的web3j以太坊開發詳解,要比硬着頭皮看官網文檔省心的多,技術問題還能夠直接諮詢課程助教。git
web3j開發環境的搭建分爲如下幾個步驟:github
web3j經過標準的以太坊RPC接口訪問節點區塊鏈,所以能夠對接各類節點軟件例如geth或parity等。不過一般在開發過程當中咱們使用開發節點Ganache,它無須從網絡同步區塊數據,很是適合開發過程當中的快速驗證。web
使用npm安裝ganache:npm
~$ npm install -g ganache-cli
安裝完畢,直接執行便可啓動節點:ubuntu
~$ ganache-cli
安裝openjdk或oracle的jdk均可以。在ubuntu下可使用apt直接安裝:bash
~$ sudo apt-get install openjdk-8-jdk
安裝完畢,使用下面命令驗證安裝成功:服務器
~$ java -version
web3j支持maven或gradle做爲項目構建工具。本文以gradle爲例進行說明。網絡
從gradle官網下載最新版的預編譯包,而後解壓、配置環境變量便可:oracle
~$ 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
智能合約的開發工具包括如下兩個命令行軟件:
solc下載後直接可運行,例如驗證安裝:
~$ solc
web3j命令行工具下載後先用unzip解壓,而後執行其中的web3j便可。例如:
~$ web3j
這兩個工具主要用於solidity智能合約的處理,咱們暫時忽略。
如今咱們能夠建立一個目錄,以及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開發環境搭建成功了!
原文連接:web3j開發環境搭建 - 匯智網