目录

一、Java开发环境

二、Maven项目创建

三、将web3j库加入项目


一、Java开发环境

1.JDK下载

参考我上篇文章JDK和eclipse的环境配置,全部搭建好以后进入下面步骤。

二、Maven项目创建

1.Maven项目创建

1)启动Eclipse,点击File > New > Project > Maven > Maven Project > Next

2)选中Create a simple project (跳过 archetype selection)然后点击 Next

3)输入项目的Group ID 和Artifact ID,然后点击Finish。

Group Id: io.kauri.tutorials.java-ethereum
Artifact Id: java-ethereum

4)完成后如下界面

5)Eclipse和Maven还要使用Java所匹配的版本。我这里是java8,需编辑pom.xml文件并在</project>之前添加,然后保存:

<properties><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.source>1.8</maven.compiler.source>
</properties>

6)右键点击项目名并选择 Maven > Update Project,在弹出的对话框中点击OK。看到项目浏览器中的JER系统库从JavaSE-1.5变成了JavaSE-1.8:

三、将web3j库加入项目

1)将web3j的最新版本通过maven导入项目,在Eclipse中编辑文件pom.xml并在</project>之前添加以下内容:

<dependencies><dependency><groupId>org.web3j</groupId><artifactId>core</artifactId><version>4.3.0</version></dependency>
</dependencies>

保存上述文件后就会自动导入声明的依赖包,之后在包浏览器中会看到一个Maven依赖文件夹其中包含了web3j等JAR包。

2)创建Main类:右键点击项目并选择New > Class,输入包名 io.kauri.tutorials.java_ethereum、类名Main,并选中public static void main(String[] args),最后点finish:

3)使用web3j连接以太坊节点,下面是完整的以太坊区块链Java访问代码

//Main.java
package io.kauri.tutorials.java_ethereum;
import java.io.IOException;
import org.web3j.protocol.Web3j;
import org.web3j.protocol.core.methods.response.EthBlockNumber;
import org.web3j.protocol.core.methods.response.EthGasPrice;
import org.web3j.protocol.core.methods.response.Web3ClientVersion;
import org.web3j.protocol.http.HttpService;
//以上是代码需要的包public class Main {public static void main(String[] args) {System.out.println("Connecting to Ethereum ...");Web3j web3 = Web3j.build(new HttpService("http://localhost:8540"));  //要连接以太坊节点,Web3j需要JSON-RPC API访问端结点,http://localhost:8540这个根据自己以太坊接口端输入,8540是我搭建parit的接口端System.out.println("Successfuly connected to Ethereum");try {// web3_clientVersion returns the current client version.Web3ClientVersion clientVersion = web3.web3ClientVersion().send();// eth_blockNumber returns the number of most recent block.   EthBlockNumber blockNumber = web3.ethBlockNumber().send();// eth_gasPrice, returns the current price per gas in wei.EthGasPrice gasPrice = web3.ethGasPrice().send();// Print resultSystem.out.println("Client version: " + clientVersion.getWeb3ClientVersion());System.out.println("Block number: " + blockNumber.getBlockNumber());System.out.println("Gas price: " + gasPrice.getGasPrice());} catch (IOException ex) {throw new RuntimeException("Error whilst sending json-rpc requests", ex);//JSON-RPC请求的序列化可能会出现IOException异常,因此需要处理一下。}}
}

4)本地运行Geth、Parity、Pantheon或Ganache-cli,并让节点保持连通状态,详情文档见文档:Linux下parity联盟链的实现_boy918.的博客-CSDN博客

5)右键点击文件Main.java,并选择 Run As > Java Application运行Java程序,初次可能会遇到这个错误,需要在pom.xml添加依赖

6)在pom.xml添加依赖并保存,重新运行项目,看到控制台显示如下内容

<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>1.7.25</version><scope>compile</scope></dependency>

以上为Web3j接口连接以太坊全部过程。如有疑点,请私信我。 

通过Web3j接口连接以太坊[Parity/Maven/Eclipse]相关推荐

  1. JAVA WEB3J与ganache以太坊环境交互

    1. 下载Web3j库 在github官网  https://github.com/web3j/web3j/releases  下载web3j-4.5.5.zip文件 在命令行中输入加压命令 unzi ...

  2. 使用 Web3.js 连接以太坊节点并查询区块链数据

    Web3.js 是一个用于连接以太坊网络的 JavaScript 库.在本文中,我们将介绍如何使用 Web3.js 来连接以太坊节点,并且查询以太坊区块链上的数据. 1. 安装 Web3.js 首先, ...

  3. 以太坊java接口_java以太坊库web3j文档

    通过java打包以太坊智能合约 Web3j可以自动打包智能合同代码,以便在不脱离JVM的情况下进行以太坊智能合同部署和交互. 要打包代码,需要先编译智能合同: $ solc .sol --bin -- ...

  4. 以太坊Parity节点搭建

    infura的免费节点对于pending池method不做支持, 因此想要操作pending池相关就需要自己搭建parity节点了, 本文详细说明下搭建过程,希望有需要的同学可以有个辅助! 1.搭建服 ...

  5. 48_通过接口获取以太坊最新区块高度

    接口地址:https://api.etherscan.io/api?module=proxy&action=eth_blockNumber 请求方式:get 返回数据: {"json ...

  6. java和以太坊交互_java类库web3j开发以太坊智能合约快速入门

    web3j简介 web3j是一个轻量级.高度模块化.响应式.类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成. 可以通过它进行以太坊 ...

  7. 使用web3j构建以太坊钱包

    创建一个以太坊钱包有多种方式,一般情况下可以通过geth.EtherumWallet等客户端.对于前端,可以使用插件MetaMask进行创建.这几种方式技术实现虽然不同,但底层原理是一致的.本文主要介 ...

  8. 以太坊应用开发JSON-PRC接口

    以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约.以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用 ...

  9. 【Web3】Web3连接到以太坊网络(测试网、主网)

    目录 什么是Web3 Web3项目连接以太坊网络 1.下载Web3 2.实例化Web3对象 3.infura 获取连接以太坊网络节点 4.添加网络节点 什么是Web3 web3.js开发文档:web3 ...

最新文章

  1. PyCharm_10个加速省时间技巧
  2. 使用Apache Spark构建实时分析Dashboard
  3. 关于textarea包在div的自适应问题
  4. go语言游戏编程-Ebiten实现画面的填充
  5. reserve和resize - 力为的技术博客 - C++博客
  6. Nagios页面介绍(四)
  7. 计算机文件系统小结,文件系统总结
  8. 猿辅导 android平板,如何为孩子学习提速减压?荣耀平板7携手猿辅导打造优质网课学习体验...
  9. java 面试 —— java 基础
  10. 《剑指offer》面试题22——栈的压入、弹出序列(C++)
  11. 基于 Flink、ClickHouse 的舆情分析系统:系统架构设计说明书
  12. 《德鲁克管理思想精要》读书笔记4 - 企业诊断工具与目标管理
  13. 河北省对口升学计算机专业学校,河北省对口升学计算机专业试题详解
  14. 人脸识别之人脸对齐(三)--AAM算法
  15. Google 不想与甲骨文争了,要放弃 Java APIs
  16. 【金猿人物展】树根互联COO黄路川:从“灯塔工厂”到“数字领航”,工业互联网操作系统助推新型工业化...
  17. 微信小程序API----授权登录拿到用户头像昵称等信息
  18. 系统工程师学习(简单Linux命令应用)(一)
  19. 用echart实现迁徙图,缩放全国地图和省份地图,鼠标悬浮显示相应数据
  20. 微软远程桌面(安卓版)连接出现0x204错误的解决办法

热门文章

  1. linux超级用户使用,linux窗口下如何使用超级用户?
  2. pycharm中光标变粗解决办法
  3. 学习 java 开发前的准备之JDK配置篇
  4. WebRTC 基于GCC的拥塞控制(下)
  5. element-ui的table表格实现跨页多选及回显效果
  6. Android Studio实现五子棋小游戏
  7. 快鲸智慧社区系统的应用场景有哪些
  8. 03 ,平均数,极差,方差,标准差 : 数据的离散程度
  9. 信息化加速发展背景下全球化的新特征
  10. openwrt patch文件怎么用_Y.A.K.E