博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eclipse中使用web3j开发以太坊java应用
阅读量:6161 次
发布时间:2019-06-21

本文共 1864 字,大约阅读时间需要 6 分钟。

在我们的以太坊开发课程中,预置代码是在终端命令行使用gradle进行构建的。如果希望在熟悉的Eclipse中开发web3j以太坊应用,这个快速教程将告诉你如何进行配置。

我们将分为6个步骤来介绍如何在Eclipse中使用Gradle项目开发web3j以太坊应用:

  1. 安装Gradle工具
  2. 安装Eclipse的Gradle插件
  3. 创建Gradle项目
  4. 配置Gradle项目
  5. 创建演示类代码
  6. 运行仿真器和演示代码

1、安装Gradle

官网下载最新的 Gradle压缩包,然后选择一个目录解压,比如:d:\tool。 不需要配置环境变量,解压即可。

注意:Gradle压缩包内含一级gradle-4.8.1目录,因此最终的安装目录是:d:\tool\gradle-4.8.1

2、安装Gradle插件

最新Oxygen版的Eclipse已经默认集成了Gradle插件,因此可以直接创建Gradle项目:

如果需要手工安装,点击菜单__[Help]__-> [Eclipse Marketplace],然后搜索gradle, 选择__Buildship Gradle Integration 2.0__安装即可:

3、创建Gradle项目

选择菜单__[New]__ -> [Project...],在弹出的向导对话框中选择__Gradle Project__:

然后给项目起个名字,比如test:

在项目选项页,首先启用Override workspace settings选项,以便填写Gradle的安装目录, 比如我们之前安装到d:\tool\gradle-4.8.1

4、配置Gradle项目

打开项目的build.gradle文件,在dependencies中添加web3j和logback依赖, 同时添加maveCentral()仓库:

plugins {    id 'java-library'}dependencies {    api 'org.apache.commons:commons-math3:3.6.1'    implementation 'com.google.guava:guava:23.0'    testImplementation 'junit:junit:4.12'    //添加web3j和logback依赖    compile 'org.web3j:core:3.3.0',             'ch.qos.logback:logback-core:1.2.3',            'ch.qos.logback:logback-classic:1.2.3'    }repositories {    jcenter()    //添加maven仓库    mavenCentral()  }复制代码

注意:在更新build.gradle文件后,一定要执行一下手动刷新,让新的设置生效!

在__Package Explorer__窗口中的项目名称上点右键,然后点击__[Gradle]__ -> [Refresh Gradle Project]

5、创建一个新的类

创建一个新的类App,一切选用默认设置即可:

然后修改App.java代码如下:

package test;import org.web3j.protocol.Web3j;import org.web3j.protocol.http.HttpService;public class App {	public static void main(String[] args) throws Exception {		Web3j web3j = Web3j.build(new HttpService("http://localhost:8545"));		String v = web3j.web3ClientVersion().send().getWeb3ClientVersion();		System.out.println(v);	}}复制代码

6、运行

首先启动你本地机器上的ganache-cli,如果是windows平台,推荐使用我们的以太坊开发套件 :

然后点击__[Run]__ -> [Run As] -> [Java Application]

一切顺利的话,你会在Eclipse的控制台首先看到Gradle在下载依赖包,然后看到 你的代码执行的结果:

BINGO!


原文:

转载地址:http://yrefa.baihongyu.com/

你可能感兴趣的文章
WCF角色服务
查看>>
常用sql001_partition by 以及 row_number()和 dense_rank()和rank()区别
查看>>
dev c++ Boost库的安装
查看>>
[LeetCode] 518. Coin Change 2
查看>>
react+百度地图实现自定义图标
查看>>
Java编译期优化思维导图
查看>>
前端自动化开发环境
查看>>
基于 Generator 和 Iterator 的惰性列表
查看>>
JS -- http、https地址自动检测并添加为链接
查看>>
JS正则表达式
查看>>
关于vue中next和Tick(nextTick)的一点理解
查看>>
聊聊rocketmq的FileAppender
查看>>
Vue登录注册,并保持登录状态
查看>>
Asciidoctor Maven插件使用
查看>>
RBAC-基于角色的权限管理
查看>>
ES6 札记:函数
查看>>
如何进行多云环境中的数据管理?
查看>>
Vuex源码阅读分析
查看>>
samba服务
查看>>
个推 Spark实践教你绕过开发那些“坑”
查看>>