需要实时监听某个以太坊地址,使用什么方式比较好呢?通过eth_getBlockByNumber和eth_blockNumber这两个方法吗?能否给出一个代码段的例子啊?
可以通过轮询区块来监听地址的交易,遍历每个区块内的交易列表判断被监控地址有没有发送或者收到交易,伪代码如下:
addresss = 被监控地址
lastScanNumber = 最后扫描区块高度
while True:
number = eth_blockNumber()
while number > lastScanNumber:
block = eth_getBlockByNumber(lastScanNumber+1, True)
for tx in block.transactions:
if tx.from == addresss or tx.to == address:
# 逻辑处理
lastScanNumber += 1
sleep(10 seconds)