0

我是 python 编程的新手,我正在尝试分析 BSC 网络的待处理块。我的程序检查待处理的块(事件)并做一些事情。关键是在循环事件处于活动状态时会发生很多事件,而我的过程非常缓慢,无法实时分析所有新数据。

如果我删除函数 hash_analise() 并打印所有事件就可以了,程序接收数据的速度更快,我可以实时打印所有哈希值,但是当我调用这个函数时,我的程序变慢了。

我尝试使用线程,但我需要同步事件中的所有数据并使用 thread.join() 等待,但是当我等待这个线程时比以前慢。

有什么方法可以更快地运行吗?

感谢您的帮助,没有线程的代码:

def hash_analise(hash):

    try:
        hash_analise = web3.eth.get_transaction(hash)
        print_hash = Web3.toJSON(hash_analise)
        print("IMPRIME HASH1:", print_hash)

        if TOKEN_LOWER_CORRIGIDO in print_hash:
            print("\nCONTÉM A STRING ESCOLHIDA")

    except:
        print("TRANSAÇÃO NÃO LOCALIZADA")


if __name__ == "__main__":

    tx_filter = web3.eth.filter('pending')
    count = 0

    while True:

        for event in tx_filter.get_new_entries():
            evento = Web3.toJSON(event)

            txnhash = evento[1:67]

            hash_analise(txnhash)

            count += 1
            print("Main", count)
4

0 回答 0