web3j的基础用法-3ETH交易监听器

2023-11-10

ETH的交易监听器

demo简单实现了4种

  1. 监听区块
  public Subscription subscribeBlock(final Action1<? super EthBlock> onNext) {
        if (this.web3j == null) return null;
        return this.web3j.blockObservable(true).subscribe(onNext);
    }

    public void unsubscribeBlock(Subscription subscription) {
        if (this.web3j == null) return;
        subscription.unsubscribe();
    }
  1. 监听所有交易
    /**
     * 监听新交易事件
     * 已经交易的事件
     **/
    public Subscription subscribeHasTrans(final Action1<? super Transaction> onNext) {
        if (this.web3j == null) return null;
        return web3j.transactionObservable().subscribe(onNext);
    }

    /**
     * 取消订阅信息
     **/
    public void unsubscribeHasTrans(Subscription subscription) {
        if (this.web3j == null) return;
        subscription.unsubscribe();
    }
  1. 监听待上链的交易
    /**
     * 监听待定交易
     */
    public Subscription subscribePendingTrans(final Action1<? super Transaction> onNext) {
        if (this.web3j == null) return null;
        return web3j.pendingTransactionObservable().subscribe(onNext);
    }

    /**
     * 取消订阅信息
     **/
    public void unsubscribePendingTrans(Subscription subscription) {
        if (this.web3j == null) return;
        subscription.unsubscribe();
    }

  1. 监听指定合约的交易事件(例如监控大户流转,实现跟单,抛售等后续逻辑)
   /**
     * 监听合约的交易事件
     * **/
    public Subscription subscribeContract(String contractAddress, final Action1<? super Log> onNext) {
        if (this.web3j == null) return null;

        // 要监听的合约事件 交易
        Event event = new Event("Transfer",

                Arrays.asList(
                        new TypeReference<Address>(true) {
                        },

                        new TypeReference<Address>(true) {
                        },

                        new TypeReference<Uint256>(false) {
                        }));
        EthFilter filter = new EthFilter(
                DefaultBlockParameterName.EARLIEST,
                DefaultBlockParameterName.LATEST,
                contractAddress);
        filter.addSingleTopic(EventEncoder.encode(event));
        return web3j.ethLogObservable(filter).subscribe(onNext);
    }
    
    public void subscribeContract(Subscription subscription){
        if (this.web3j == null) return;
        subscription.unsubscribe();
    }

请添加图片描述

github 地址
https://github.com/jambestwick/we3jdemo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web3j的基础用法-3ETH交易监听器 的相关文章

  • JAVA - 带有特殊字符的 LDAP 密码不起作用

    我试图在我的系统上创建一个登录屏幕 在 Active Directory 中进行查询 但是当用户的密码包含一些特殊字符 如 和 时 它不会验证 我需要加密密码才能工作吗 我该怎么做 我使用 getPassword 通过 JPasswordF
  • 如何自定义BlockingQueue的阻塞行为

    我想创建一个阻塞队列 它根据自定义规则而不是队列中的项目数量来阻止生产者 例如 生产者生成一些文件并放入队列中 消费者经过一番分析后将它们转移到特定位置 对于上述场景 如果队列中的总文件大小达到某个阈值 我希望生产者等待生成新文件 如果总大
  • Firebase 查询 Or'ing whereEqualTo 以获得可能值的列表

    我见过之前针对早期版本的 Firebase 提出过这个问题 https stackoverflow com questions 26700924 query based on multiple where clauses in fireba
  • 如何使用 SLF4J 和 Log4j2 记录 FATAL(或任何自定义日志级别)

    我有那些具体的要求 需要能够登录FATAL level 需要使用SLF4J 需要使用Log4j2 现在 这是我的执行 final Logger logger LoggerFactory getLogger HelloWorld class
  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • 使用 Java 编程式 HTML 文档生成

    有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象 而不需要在外部生成字符串 然后使用 HTMLEditorKit read 来解析它 我问的两个原因 首先 我的 HTML 生成例程需要非常快 并且我认为将字符串解析
  • 使用 jdbc 程序连接到 Open Office odb 文件

    我编写了以下代码来连接到 OpenOffice db String db C Documents and Settings hkonakanchi Desktop Test odb Class forName org hsqldb jdbc
  • 如何解决错误:java.lang.ClassNotFoundException:io.netty.util.concurrent.GenericFutureListener?

    昨天我第一次尝试用 Java 制作 Prometheus 客户端 从 Python 开始 最后是 GoLang 是否找到示例 import io prometheus client Counter import io prometheus
  • 业务代表与服务定位器

    Business Delegate 和 Service Locator 之间有什么区别 两者都负责封装查找和创建机制 如果 Business Delegate 使用 Service Locator 来隐藏查找和创建机制 那么 Busines
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • LibGdx 如何使用 OrthographicCamera 滚动?

    我已经找了 10 个小时 字面意思 我已经完成了 我需要问一下 事情是我正在学习如何使用 LibGdx 来编写 Java 游戏 我正在做一个水平太空飞船游戏 所以 我最糟糕的问题是我不知道如何滚动 我认为绘制会更好地解释 我想绘制一个巨大的
  • JSP 标签+ scriptlet。如何启用脚本?

    我有一个使用标签模板的页面 我的 web xml 非常基本 我只是想在页面中运行一些代码 不 我对标签或其他替代品不感兴趣 我想使用不好的做法 scriptlet 哈哈 到目前为止 我收到了 HTTP ERROR 500 错误 Script
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • 如何自定义JProgressBar?

    我正在制作一个启动器 我想要一个自定义的进度栏 我已经做了一些研究 并且可以使用 JavaFX 从未用它做过任何事情 并且可以通过替换 UI 来实现 我正在寻找一个具有圆形边缘和圆形填充的酒吧 像这样的事情 package gui impo
  • 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

    web xml
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 是什么原因导致“对象不是声明类的实例”? [复制]

    这个问题在这里已经有答案了 可能的重复 使用反射调用方法时 为什么会出现 对象不是声明类的实例 https stackoverflow com questions 7202988 why do i get object is not an
  • Mule/码头设置

    我有一个正在运行的 Mule 应用程序 我想在其上设置 Jetty 来响应 http 请求 以下配置

随机推荐

  • Android——使用ListView显示信息列表

    1 理解ListView的基础使用 1 作用 Android系统中显示列表的控件 2 两种适配器 ArrayAdapter SimpleAdapter 1 数据适配器 作用 把复杂的数据 数组 链表 数据库 集合等 填充在指定视图界面上 是
  • xp系统一直跳出宽带连接服务器,电脑开机后会自动弹出自动宽带连接提示窗口 怎么关闭?...

    自从电脑接宽带后 我们经常会用到宽带连接 甚至为了方便操作 我们直接让电脑开机就自动宽带连接了 而当我们接上路由后 我们会发现电脑再也不用宽带连接了 而这时电脑由于之前被我们设置为开机自动宽带连接 而导致经常会弹出提示窗口 那我们该如何去关
  • Linux--进程间通信、IPC、管道

    目录 1 进程间通信的方法 2 IPC机制 1 有命管道 1 简介 5 管道的特点 6 循环写读 2 无名管道 1 简介 2 代码 4 总体特点 5 管道实现图 1 进程间通信的方法 1 管道 2 信号量 3 共享内存 4 消息队列 5 套
  • java - jdwp远程调试线协议的使用

    前言 线上服务器出现的bug 因为各种复杂环境的原因 经常会很难在本地调试 只能到处打log 然后去服务器查看log日志 以定位问题产生原因 是否一工具能像idea中本地debug一样能直接断点调试呢 介绍 JDWP Java Debug
  • 华为上机考试注意事项及编程技巧(精品)

    这是一篇关于华为招聘软件类职位上机考试的博客 主要介绍一下华为机考的流程 注意事项以及一些机试题中常用的编程技巧 写得有点长 但都是尽心尽力敲的 如果真的要参加华为招聘 或者类似公司的招聘 建议稍微花点时间看完 话不多说 直接进入正题 一
  • 我对维度建模和范式建模的一点理解

    谈维度建模和范式建模之前 先了解下模型设计的三个阶段吧 概念模型 将业务划分成几个主题 逻辑模型 定义各种实体 属性 关系 物理模型 设计数据对象的物理实现 比如表的命名规范 字段的命名规范 字段类型等 一 范式建模 我先来介绍一下范式 范
  • 思维的特点和缺陷

    人类总是喜欢歌颂自己的大脑 比如 思想的威力 逻辑的威力 数学的威力 数学来自于思考 科学的威力 科学来源于思考 还有 意识 这个 人类与动物最大的区别 i blah blah 不过 几乎没有人关心过这种想法究竟来自于人体的哪个器官 心理学
  • 海思3559 安装

    设置地址 开机后任意键 进入 u boot 界面显示 hisilicon 以下内容转自 海思开发记录 一 3559A开发环境搭建 whitefish520的博客 CSDN博客 海思3559a 说明 这次安装的是Ubuntu14 04 64位
  • java8 lambda 获取list对象中重复数据

    工作上的场景 简单记录一下 在这里直接借用业务上的list 不再new 了 List
  • 前台模糊查询中用“\%”替换字符串中的“%”

    最近在做电商项目 前端开发好后就丢给我们 用的时候发现一个缺陷 前台模糊查询的时候 输入一个 或者包含 的词 查询的时候不准确 解决过程中第一个问题 前端用了Js的 decodeURL 转码 将前台输入的 转码了 无法传到后台 参考 htt
  • Java前端知识HTML

    Java前端知识 首先我们用的是HBuilderX软件 当然 前端知识有很多 如果有遗忘或者需要查询的可以去菜鸟驿站查询 比较全 html的文档结构主要是有三部分组成的 1 标记用于html文件的最前面 用来表示html文件的开始 而的标记
  • QSignalMapper信号映射器的使用

    目录 QSignalMapper介绍 Signal 信号 slots 根据标识获取对象 给对象设置标识 删除映射 实例 代码 需求升级 总结 相关文章 QSignalMapper介绍 该类收集一组无参数的信号 并使用与发送信号的对象对应的整
  • 不限时长,免费制作

    在这个信息爆炸的时代 短视频已经崭露头角 成为人们获取信息 娱乐和学习的首选渠道 事实上 大部分互联网用户每天都沉浸在短视频的世界中 这无疑证明了短视频营销的巨大潜力和不可替代的地位 2023年的数据进一步印证了这一点 中国短视频用户规模已
  • 页面禁止长按保存图片和长按复制文字

    1 禁止长按保存图片 img pointer events none 禁止none 启用auto Tips pointer events属性详解 官方文档 https www html cn book css properties user
  • 面试题 01.06. 字符串压缩

    字符串压缩 利用字符重复出现的次数 编写一种方法 实现基本的字符串压缩功能 比如 字符串aabcccccaaa会变为a2b1c5a3 若 压缩 后的字符串没有变短 则返回原先的字符串 你可以假设字符串中只包含大小写英文字母 a至z 示例1
  • 找出数组中的最大有序子数组

    效率O n m import java util HashSet import java util Set public class FindLongestArray public static void main String args
  • 第十四届蓝桥杯单片机第二场模拟赛程序(AD+字符接受串口)

    完整代码 include
  • MIPI介绍(CSI DSI接口)

    MIPI Mobile Industry Processor Interface 是2003年由ARM Nokia ST TI等公司成立的一个联盟 目的是把手机内部的接口如摄像头 显示屏接口 射频 基带接口等标准化 从而减少手机设计的复杂程
  • 解决“AD中设置板子区域时候遇到的找不到闭合形状”问题

    问题说明 今天给大家分享一下 我们在画PCB时候有时候会想将PCB设置区域改为自己板子的大小 就是整个区域就只有自己的板子 大家不明白的话 可以看看下面这张图 或许就明白了 对于如何将PCB区域改为我们板子的形状 可以参考我这篇文章 这里我
  • web3j的基础用法-3ETH交易监听器

    ETH的交易监听器 demo简单实现了4种 监听区块 public Subscription subscribeBlock final Action1