怎么用EthMon.php监听以太坊代币转账交易

技术怎么用EthMon.php监听以太坊代币转账交易怎么用EthMon.php监听以太坊代币转账交易,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。EthMo

相信很多没有经验的人对于如何利用EthMon.php来监控以太馆的代币转账交易是束手无策的。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

EthMon开发包用于监控ethereal ERC20代币合约的转让交易。

1、开发包概述

EthMon令牌交易监控开发包功能如下:

监控Ethereum合同日志中指定地址的令牌转入和转出交易。

当令牌事务发生时,自定义业务逻辑。

也就是说,它既支持标准的Web3接口(如Infura),也支持Etherscan非标准接口。

EthMon在PHP 7.1环境下运行,主要的类及其关系如下图所示:

怎么用EthMon.php监听以太坊代币转账交易

见官方描述:http://sc.hubwiz.com/codebag/EthMon-php/的主要代码文件清单的筛法。

00-1010启动前,请用自己的API KEY替换以下文件的内容。

演示/以太扫描键

demo/infura-key

EthMon是开发包的入口类。通过调用其scanBlocks()方法,可以在指定的时间间隔内扫描Ethereum块,提取并解析其中的合约日志。匹配监听地址后,可以调用事件监听器的handleEvent()方法(IEventListener接口的实现对象)并传入解析后的事件对象。

2、使用说明

调用者的程序需要将自己的业务逻辑封装在IeventListener接口的实现类中,比如写入数据库等。下面的代码实现了一个基本的事件监听器——,它只是在屏幕上显示和输出事件对象的内容:

classzlistereimplementsiventlistener {

functionhandleEvent($ event){ 0

var _ dump($ event);

}

}handleEvent()方法的参数是一个具有以下结构的StdClass对象:

区块:交易所的区块编号。

Txhash:事务哈希。

合同:触发事件的合同地址。

名称:事件的名称,例如:转移。

流动:资本流动方向,可能值:入站-转入,出站-转出。

Params:事件参数数组,其成员为:

输出地址,字符串。

转到地址字符串。

可以通过调用to string()方法将令牌量BigInteger转换为字符串。

定义事件侦听器后,可以按如下方式设置和启动它:

2.1 IEventListener

创建EthMon实例时,需要传入一个EthApi对象,例如,使用EthApiWeb3对象:

$ ethApi=new ethApi web 3(' https://mainnet . infura . io/v3/your-API-key ');

$ em=new ethmon($ EThapi);00-1010在创建了EthMon实例之后,您需要调用watchToken()方法来设置要监视的令牌契约,例如监视BNB令牌契约:

$ em-WatchToken('0xb 8c 77482 e 45 f1 f 44 de 1745 f 52 c 74426 c 631 BDD 52 ');00-1010使用EthMon实例的watchAddress()方法添加与要监控的令牌事务相关的地址。例如,以下代码侦听地址0xd 3705916 ce 7 e2c 43806 e0e 0707 C4 B9 d6f 27 e9 ab 2接收令牌的事件:

$ em-Watch ADdress('0xd 3705916 ce 7 e2c 43806 e0e 0707 C4 B9 d6f 27 e 9 ab 2 ',筛孔: flow _ IN);下面的代码侦听地址0x6c6cbb3 ef 3d 690 de7a a 0525 b5 E6 C2 FFE 7 aed6a 5传送出令牌的事件:

$ em-Watch ADdress('0x6c cbbb 3 ef 3d 690 de7 aa 0525 b5 E6 C2 FFE 7 aed 6 a 5 ',筛孔: flow _ OUT);当您想要监听地址的传入/传出令牌事件时,请使用筛孔:FLOW_INOUT标志:

$ em-Watch ADdress('0xd 3705916 ce 7 e2c 43806 e0e 0707 C4 B9 d6f 27 e9 ab 2 ',筛孔:3360 FLoW _ INOUT);00-1010调用EthMon实例的addEventListener()方法添加事件侦听器对象。当EthMon的scanBlocks()扫描块时,满足条件时将调用这些事件侦听器。

例如,下面的代码添加了我们前面定义的EzListener类的一个实例对象:

$ em-addEventListener(new ezlistener);

2.2 创建EthMon对象

,需要定期调用EthMon的scanBlocks()方法来扫描区块链,以便跟踪新的令牌事务日志。scanBlocks()的两个参数分别用于指定扫描的开始块数和结束块数。当使用特殊的最新字符串时,使用最新的块。

例如,以下代码每5秒扫描一次最新的块:

while(true){ 0

$em-scanBlocks('latest ',' latest ');

睡眠(5);

}尽管起始和结束块号可以使用任意整数值,但不建议一次扫描多个块,因为Etherscan和Web3返回的记录数量有限。例如,以下代码尝试扫描从8500000到8500404的405个块:

$em-scanBlocks(8500000,8500404);//不推荐,但可能会失败。建议逐块扫描。考虑到第三方服务的访问频率限制,在两次扫描期间应进行适当的延迟处理。

看完上面的内容,你知道如何使用EthMon.php来监控Ethereum中的令牌转移交易吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道。感谢阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/43708.html

(0)

相关推荐

  • 怎么构建nftables

    技术怎么构建nftables这篇文章将为大家详细讲解有关怎么构建nftables,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。当前,有一个与 nftables 兼容的 iptables

    攻略 2021年10月26日
  • 同性恋的原因,同性恋和父母的基因有关系吗

    技术同性恋的原因,同性恋和父母的基因有关系吗引起同性恋的原因同性恋的原因,至今没有肯定的说法,一般认为同性恋和以下因素有关:
    一,遗传因素:即生物学因素,有人发现同性恋者,在同卵双生子中远比异卵双生子中多见。
    二,儿童角

    生活 2021年10月30日
  • ppt水印怎么去掉,图片去水印都用什么app

    技术ppt水印怎么去掉,图片去水印都用什么app感谢邀请!其实手机上有很多种去水印软件,目前用的最多的就是美图秀秀,今天来给大家简单介绍几款ppt水印怎么去掉。美图秀秀:美图秀秀是08年推出的一款图像处理软件,用于图片精

    生活 2021年10月26日
  • 好听的字男,古代男生好听的名3个字

    技术好听的字男,古代男生好听的名3个字必须是苏姓好听的字男。怎么起都好听。苏小白都好听。苏小明都能扛得住。苏花花都有萌萌的赶脚。万搭。更新:苏大强旋风强势来袭
    but 苏家三个娃的名字都很好听啊
    普普通通的字,苏明玉,

    生活 2021年11月1日
  • css3中设置文本阴影的属性是(css3球体掉落动画带阴影效果)

    技术css3怎么实现图片阴影效果这篇文章主要讲解了“css3怎么实现图片阴影效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3怎么实现图片阴影效果”吧!css3实

    攻略 2021年12月16日
  • 树之设计【AVL树、红黑树的设计】

    技术树之设计【AVL树、红黑树的设计】 树之设计【AVL树、红黑树的设计】树之设计【AVL树、红黑树的设计】1,设计之初:? 思考:AVL树的意义:高度平衡二叉树,用来维持整棵树是一棵平衡的二叉树,那么

    礼包 2021年10月27日