最近在研究以太坊智能合約,發現以太坊推出了web3.js的nodejs庫,對於學Java出身的我而言很是的不習慣。node
在github中尋找到了Java版本的web3j,在這裏與你們分享一下。git
web3j github地址:https://github.com/web3j/web3jgithub
web3j 文檔地址:https://web3j.readthedocs.io/en/latest/web
一個簡單的例子網絡
一、建立一個maven項目maven
二、增長dependencies測試
<dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>3.3.1</version> </dependency>
三、申請測試網絡ui
(1)本地私鏈(geth)編碼
(2)partyspa
(3)infura
第一種是本地搭建geth客戶端或者搭建私鏈,這個優勢在於所有是本地環境想幹嗎幹嗎,搭建私鏈教程地址:http://blog.csdn.net/chenyufeng1991/article/details/53471576,可是這種方式比較麻煩。
第二種是一個以太坊的錢包,優勢能夠存儲帳號,便於管理,缺點是須要下載測試或者主網的全部block(主網的block大概40多個G)
第三種是一個客戶端,免費的節點錢包,比較方便。
本次代碼就基於infura來進行
四、入門編碼
1 import org.web3j.protocol.Web3j; 2 import org.web3j.protocol.core.methods.response.Web3ClientVersion; 3 import org.web3j.protocol.http.HttpService; 4 5 public class Web3Blog1_1 { 6 public static void main(String[] args) throws Exception{ 7 Web3j web3 = Web3j.build(new HttpService("https://kovan.infura.io/yXDUNwlNOcx0UJCWjzNr")); 8 Web3ClientVersion web3ClientVersion = web3.web3ClientVersion().send(); 9 String clientVersion = web3ClientVersion.getWeb3ClientVersion(); 10 System.out.println(clientVersion); 11 } 12 }
運行結果: