web3j监听智能合约的event事件
假设智能合约中定义了一个事件:
pragma solidity ^0.4.0;contract Transfer{event transfer(address indexed _from, address indexed _to, uint indexed value);function deposit() payable {address current = this;uint value = msg.value;transfer(msg.sender, current, value);}function getBanlance() constant returns(uint) {return this.balance;}/* fallback function */function(){}
}
在web3j端对该事件的监听方法为:
void listenEvent(){Event event = new Event("transfer",Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}),Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));EthFilter filter = new EthFilter(DefaultBlockParameterName.EARLIEST,DefaultBlockParameterName.LATEST, contract_addr);filter.addSingleTopic(EventEncoder.encode(event));getWeb3jClient().ethLogObservable(filter).subscribe(new Action1<Log>() {@Overridepublic void call(Log log) {System.println(log.toString());}});}
注意,因为智能合约中transfer事件的定义形式是
event transfer(address indexed _from, address indexed _to, uint indexed value);
所以在web3j定义event的时候要对应上:
Event event = new Event("transfer",Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}),Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}));
否则事件监听会失败。
web3j监听智能合约的event事件相关推荐
- web3j监听合约logs事件
以太坊使用web3j监听特定的logs,用法. 更多区块链技术与应用分类: 区块链应用 区块链开发 以太坊 | Fabric | BCOS | 密码技术 | 共识算法 | 比特币 | 其他链 通 ...
- Web3j监听功能代码研究
Web3j监听功能代码研究 高洪涛 2021-03-19 本周深入研究了web3j工具包实现以太坊的监听功能,实现了交易监听和代币监听的方法,对监听过程中的常见问题进行了处理,本文就是对这部分开发经验 ...
- 13、Java Swing事件监听:事件处理模型和事件监听器
事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等.事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的. 当事件发生 ...
- 解决VUE在浏览器全屏下监听不到Esc键盘事件
实测可以在谷歌.火狐.360 浏览器使用 解决了在浏览器全屏下监听不到键盘Esc事件 解决了取消全屏和全屏的同步问题,ESC按键下可以同步 以下是完整的代码, // data() {return {i ...
- 监听JScrollPane按PageUp,PageDown事件
package com.cyl; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; imp ...
- java 监听鼠标点击_java 事件监听 - 鼠标
java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...
- vue判断是否双击_vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作...
Vue 事件处理方法 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. v-on:click 单击事件 + + - - v-on:dblclick 双击事件 ...
- vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求
vue监听浏览器刷新和关闭事件,并在页面关闭/刷新前发送请求 1.需求背景: 2.需求分析: 3.实现方式: 4.实现方式解析: 1)浏览器页面事件基础 2)在mounted监听beforeunloa ...
- CocosCreator 监听龙骨绑定的帧事件
监听龙骨绑定的帧事件 简介 龙骨部分 CocosCreator 项目设置 CocosCreator 添加监听代码 简介 在龙骨中的Armature上绑定了一些帧事件,但是在CocosCreator中监 ...
最新文章
- poj 3281 Dining 最大流
- java switch 表达式_尝鲜Java 12新特性:switch表达式
- Spring.Net 能为我们做点什么
- Python 根据地址获取经纬度及求距离
- MySQL MMM多主多从搭建
- manually set focus for tag library
- html文件内容搜索,html读出文本文件内容
- mysql怎么插入10w测试数据_mysql快速插入100万测试数据
- (TTSR)Learning Texture Transformer Network for Image Super-Resolution
- Maven学习总结(26)——maven update时,报:Preference node org.eclipse.wst.validation...
- Jenkins 自动化集成之路 Linux 安装 maven
- ssh X11 Forwarding(本地共享远程服务器界面)
- JAVA 项目中使用 H2 数据库
- live2d手机制作软件_Live2d( 动画制作软件 )中文版分享
- c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
- Docker参数 -i -t 的作用
- php 视频网站采集器,自己在用的视频网站开源,真正的自动采集无需手动更新...
- Plotly学习 3D三维轴的设置
- 《数据结构》实验报告二:顺序表 链表
- Web安全 信息收集 (收集 Web服务器 的重要信息.)