web3j以太坊開發環境搭建

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

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

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

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

1. 安裝以太坊開發節點

web3j經過標準的以太坊RPC接口訪問節點區塊鏈,所以能夠對接各類節點軟件例如geth或parity等。不過一般在開發過程當中咱們使用開發節點Ganache,它無須從網絡同步區塊數據,很是適合開發過程當中的快速驗證。web

使用npm安裝ganache:npm

~$ npm install -g ganache-cli

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

~$ ganache-cli

2. 安裝JDK

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

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

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

~$ java -version

3. 安裝Gradle

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

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開發環境搭建成功了!

原文連接:web3j開發環境搭建 - 匯智網

相關文章
相關標籤/搜索