区块链之java(六.1) 合约监听

2023-10-31

之前写的那一篇呢,好像有点点问题。就是在设定监听的时候,没有编写具体监听的方法。

今天带来一篇新的方式的合约监听

前面的就不赘述了。合约上的监听是一样的。

在java中。根据abi生产的文件,其实在里面是有监听方法的

代码如下:

 public Flowable<StoEventResponse> stoEventFlowable(EthFilter filter) {
        return web3j.ethLogFlowable(filter).map(new Function<Log, StoEventResponse>() {
            @Override
            public StoEventResponse apply(Log log) {
                EventValuesWithLog eventValues = extractEventParametersWithLog(STO_EVENT, log);
                StoEventResponse typedResponse = new StoEventResponse();
                typedResponse.log = log;
                typedResponse.number = (BigInteger) eventValues.getNonIndexedValues().get(0).getValue();
                return typedResponse;
            }
        });
    }

实际上呢,在初始化合约后,直接使用合约调取监听。会比后期写监听方便一些。

这里方便的点有如下几点:

1.不用手动转换数据类型,可以拿到直接使用

2.不用装配监听的方法等。(底层已实现)

具体调用如下。(钱包加载,管理器加载,合约地址这些也不赘述了)

 Storage storage = Storage.load(address, web3j, transactionManager, gasPrice, Contract.GAS_LIMIT);
            BigInteger staBlock = web3j.ethBlockNumber().send().getBlockNumber();

            storage.stoEventFlowable(DefaultBlockParameter.valueOf(staBlock),     DefaultBlockParameterName.LATEST).subscribe(tx -> {

                System.out.println(tx.number);

            });

是不是比上一篇方便很多。

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

区块链之java(六.1) 合约监听 的相关文章

  • Scala学习(十二)---模式匹配

    文章目录 1 基本语法 2 模式守卫 3 匹配常量和类型 4 匹配对象和样例类 4 1 匹配对象 4 2 匹配样例类 5 偏函数中的模式匹配 1 基本语法 在Scala中的模式匹配类似于Java中的switch语法 模式匹配基本语法 val

随机推荐

  • python 网页自动化框架_Python+Selenium+Unittest实现PO模式web自动化框架

    1 效率高 PO模式的逻辑层方法有具体定义 元素发生变化修改逻辑层 业务层不变 这样看来结构简单清晰 舒服更符合人类习惯 普通方式就是继续堆case 2 复用多收益大 同样这里如果逻辑复用越多 PO模式收益越大 因为对于PO模式来说都只需要
  • stm32 CUBEIDE pritnf函数不立即输出问题

    今天在调试mavlink 有一段解析打印函数如下 while serial available serial3 uint8 t byte serial readChar serial3 if mavlink parse char seria
  • 力扣刷题笔记,8. 字符串整数转换

    针对力扣第8题 重点学习JAVA实现自动机的写法 1 自动机 字符串中的数字为结果的条件是 这个数字 包含符号 的前面只有空格 每次输入的字符包括四种情况 空格 符号 数字 其他 同时对应有四种状态 开始状态 start 即尚未读取到符号或
  • VBA快速入门学习笔记

    NOTE 1 一 VBA对象 工作簿 工作表 单元格 批注 透视表 自选图形 名称等等都是对象 VBA正是用于处理这些对象的语言 下图是一个比较经典的VBA对象类别图 在VBE VB编辑器 里也可以看到对象的浏览器 F2键 对象可以相互包含
  • lib库中允许存在全局变量

    Linux动态库so 静态库a 都是可以允许存在全局变量的 但是全局变量最好加上自己特有的属性 也就是需要注意不能重名 否则很有可能会因为被覆盖然后导致出错
  • VUE3中使用pinia

    Vue3中使用pinia 安装依赖 yarn add pinia 下面这个取决你需不需要数据持久化安装 yarn add pinia plugin persist 挂载 import createPinia from pinia 数据持久化
  • mysql练习:经典50道基础题

    目录 一 环境准备 50道题目练习 1 查询 01 课程比 02 课程成绩高的学生的信息及课程分数 2 查询学生选课存在 01 课程但可能不存在 02 课程的情况 不存在时显示为 null 3 查询平均成绩大于等于 60 分的同学的学生编号
  • jdbc连接超时解决

    这两天在测试Hive权限控制代码Hamza 发现每天来的时候第一次老是会报出以下错误 2015 03 26 09 40 25 956 ERROR GroupPrivController 119 Error querying database
  • spark实验总结

    4 5实验的问题在于spark保存和读取json的时候列名容易不是本来需要的字段名而是c1 c2这样的列名 解决办法是不要用建议读取方法而要指定读取表头 不用spark read csv 而是 spark read format json
  • c++ 使用 math库笔记

    目录 win10系统 cmakelist txt linux gcc方式 c 使用pi win10系统 这个头文件在visual studio的 sdk中 引用方法 include
  • Redis队列实现Java版秒杀系统(无脚本、可用于生产)

    需求是做一个秒杀系统 比如大家来抢100台手机 先到先得 查阅了网上很多用redis实现秒杀的demo java语言 竟然没一个能用的 有些是php的 没闲心研究了 现在说说为什么不能用 绝大多数的DEMO都是基于redis的watch特性
  • java 基础重学(七)-java底层知识/设计模式

    java 底层知识 字节码 class文件格式 CPU缓存 L1 L2 L3和伪共享 尾递归 位运算 位运算实现 设计模式 常用设计模式 单例 单例的七种写法 策略 工厂 适配器 责任链 实现AOP 实现IOC
  • 用CSS3实现div内容无限循环的滚动

    使用CSS3来实现 若要用CSS3的属性实现的话 非animation莫属 因为transition是需要手动的触发 而且不能无限次执行下去 而animation恰好能解决这个问题
  • 二进制的算法题怎么做

    内容会持续更新 有错误的地方欢迎指正 谢谢 告诉大家一个诀窍 能高效解决大多数二进制的题目 假设有一个数n 那么n n 1 的作用 n n 1 得到的结果相当于把整数的二进制表示中最右边的那个1变成0 例1 求二进制数中1的个数 输入一个整
  • 修复Yum依赖冲突

    警告 RPM 数据库已被非 yum 程序修改 发现 个已存在的 RPM 数据库问题 yum check 输出如下 列出重复的包 package cleanup dupes 移除旧的重复包 package cleanup cleandupes
  • Python Import 详解

    import 绝对是我们在使用python时最常用的语句之一了 但其实关于import 需要注意的地方还真不少 如导入第三方库 导入自己写的库 导入相对路径下文件中的方法 在包内部的相对与绝对导入等导入源 有导入的顺序 有Lazy Load
  • 经验:如何快速地写出格雷码

    经验 如何快速地写出格雷码 更新历史 201901212 首次发布 格雷码 Binary Gray Code 的特点是 相邻两个码之间 只相差了一个比特 由于这个特性 格雷码在数字电路中使用甚广 不过 令人尴尬的是 格雷码似乎不好记 以4比
  • C语言数组和指针笔试题(二)(一定要看)

    目录 字符数组二 例题1 例题2 例题3 例题4 例题5 例题6 例题7 总结 字符数组三 例题1 例题2 例题3 例题4 例题5 例题6 例题7 字符数组二 char arr a b c d e f 1 printf d n strlen
  • 黑马程序员MySQL学习笔记一(超详细版)-MySQL基础篇:MySQL概述、SQL、函数、约束、多表查询、事务

    名称 黑马程序员MySQL数据库入门到精通 从MYSQL安装到MYSQL高级 MYSQL优化全囊括 来源 B站黑马程序员 链接 https www bilibili com video BV1Kr4y1i7ru p 37 share sou
  • 区块链之java(六.1) 合约监听

    之前写的那一篇呢 好像有点点问题 就是在设定监听的时候 没有编写具体监听的方法 今天带来一篇新的方式的合约监听 前面的就不赘述了 合约上的监听是一样的 在java中 根据abi生产的文件 其实在里面是有监听方法的 代码如下 public F