1.开启ganache-cli服务

ganache-cli 是以太坊节点仿真器软件 ganache 的命令行版本,可以方便开发者快速进行以太坊DApp的开发与测试,开启服务后如下图所示(初始有十个账户信息):
ganache-cli运行在8545端口监听http请求,我们将使用web3j将JSON RPC 调用请求使用http协议发送到节点的8545端口。

2.用maven中导入相关依赖

<dependencies>
<!--引入单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--导入web3j核心jar包--><dependency><groupId>org.web3j</groupId><artifactId>core</artifactId><version>4.3.0</version></dependency><!--引入日志组件--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.7</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.7</version></dependency></dependencies>

3.主函数

接口 Web3j 声明了以太坊 JSON RPC 相关的全部接口,该接口提供了静态方法 build()来返回一个该接口实现类JsonRpc2_0Web3j 的实例对象:

org.example.App

package org.example;import org.web3j.protocol.Web3j;
import org.web3j.protocol.core.Request;
import org.web3j.protocol.core.methods.response.Web3ClientVersion;
import org.web3j.protocol.http.HttpService;import java.io.IOException;/**
* Hello Web3j!
*
*/
public class App
{public static void main( String[] args ) throws IOException {Web3j web3j = Web3j.build(new HttpService("http://localhost:8545"));//创建一个 Web3j 实例对象,该对象将后续的 RPC 调用通过 HTTP 发送到本机运
行的节点Request<?, Web3ClientVersion> request = web3j.web3ClientVersion(); //构造请求对象Web3ClientVersion response = request.send();//发送请求对象并获取响应对象String version = response.getWeb3ClientVersion();//获取版本信息System.out.println("Client Version:"+version);//输出版本信息}
}
String clientVersion = web3j.web3ClientVersion().send().getWeb3ClientVersion();//链式编程实现

4.运行结果

控制台上打印出了Client Version:

区块链学习之Web3j入门(一)相关推荐

  1. 区块链学习之Web3j入门(三):状态与交易

    1.以太坊的两种交易 以太坊中有两种交易,分别为普通交易和裸交易.普通交易由外部节点进行签名,然后发送到网络中进行确认:裸交易由外部应用进行签名,节点不再额外处理,而只是负责发送到网络中进行确认(未经 ...

  2. 区块链学习之Web3j入门(七): 以太坊通知机制

    1.通知机制 以太坊的通知机制是建立在日志基础之上,如果智能合约触发了一个事件,那么该事件将写入以太坊日志:如果外部应用订阅了这个事件,那么应用就可以在日志中出现该事件后及时监测到,进而获取日志信息. ...

  3. 区块链学习路径,看这一篇就够了 | FISCO BCOS

    FISCO BCOS开源社区已沉淀过百篇文章,覆盖了区块链学习各个阶段.为了方便大家对应自身学习阶段找到合适的教程,我们按照区块链学习成长路径对社区文章进行整理排序,希望沿着这份路径规划,大家都能成为 ...

  4. 区块链学习——原理入门

    刚开始学习区块链,由于刚入门,所以借鉴了一些大佬的总结,仅作个人学习使用. 刚开始了解区块链,应当对其概念有所了解,要分清链圈和币圈.首先要了解区块链的概念,原理,核心技术.随后要去读一些著作,比如& ...

  5. 月薪 100K?还不来看看区块链学习清单?字字都是 Money!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! CSDN粉丝今日专属购书福利:全场书籍优惠,满100减50!仅限当日使用. 初春乍寒,又到了 ...

  6. 尚硅谷以太坊区块链学习之NFT智能合约(6)

    尚硅谷以太坊区块链学习之NFT智能合约(6) 前言 一.NFT智能合约 1.智能合约代码 2.智能合约推送 3.具体调用 二.具体使用 三.NFT商家智能合约 前言 提示:服务外包区块链学习 5被ba ...

  7. 剑英的区块链学习手记(二)

    孙子说,知己知彼,百战不殆. 咱是通过小蚁学习区块链技术的. 开工之前,先了解一下小蚁的资料家族. 小蚁网站 https://www.antshares.org/ 小蚁源码 https://githu ...

  8. 美化UI合约区块链学习版系统+交易大厅

    简介: 美化UI合约区块链学习版系统+交易大厅 亲测环境:Win+宝塔+Apache+php5.6+mysql5.5 数据库配置文件:/APP/Conf/config.php 设置TP伪静态 后台地址 ...

  9. 区块链学习笔记23——ETH反思

    区块链学习笔记23--ETH反思 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约真的智能吗 ...

最新文章

  1. forms身份验证 不跳转_“东湖24小时”玩不够?收好这份指南,365天不重样
  2. 推荐一款移动端日历App吉日历
  3. POJ 1861 Network
  4. Java 自动装箱与拆箱
  5. Linq to Sql: 集成数据库语言查询之一
  6. 【算法总结】积性函数相关
  7. php短链接api,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
  8. 030、JVM实战总结:G1分代回收原理深度图解:为什么回收性能比传统GC更好?
  9. HTTP 缓存机制及原理
  10. Navicat相关注册码
  11. Linux虚拟网络基础 — Bridge
  12. linux环境vmd安装,如何在linux系统下安装VMD?
  13. 银河麒麟系统QtCreator不能切换中文输入法问题解决
  14. 《非暴力沟通》---第二章(是什么蒙蔽了爱?)读书笔记
  15. mac上优秀的键盘改键神器:Karabiner Elements完美支持m1芯片详细教程解析
  16. 弹幕的开发(DanmakuFlameMaster)
  17. 分体式耳机是什么意思?2021年高音质分体式蓝牙耳机推荐
  18. 小心肝队-冲刺日志(第三天)
  19. 两个向量的夹角解法--VC
  20. matlab错误使用^

热门文章

  1. 2022年湖南省导游资格(导游服务能力)练习题及答案
  2. Unity之TMP_InputField-输入字符数限制
  3. 数据仓库开发——Kettle使用示例
  4. Error: spawn cmd ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19
  5. (收藏)让你平步青云的十个谈话技巧
  6. cdr mac majave os_苹果最新 macOS Mojave 10.14 正式版 懒人镜像
  7. SpringCloud系列之六
  8. python输出为什么会有b_【已解决】为什么Python打印数据显示为b‘XXX’格式
  9. SuperMap iDesktop常见问题解答集锦(七)
  10. 安装gtsam遇到的错误