Web3.py пропускает новые блоки

Всем привет!

Мне необходимо мониторить новые блоки на наличие нужных мне транзакций. Если я найду новую транзакцию в блоке, надо отправить свою. Проблема заключается в том, что при мониторинге новых блоков, проскакивает через один.

def from_to_loop(data, block_num):
"""Перебираем транзакции в блоке"""

pbar = tqdm(total=len(data))
for item in data:
    w_from = item['from']
    c_to = item['to']
    if w_from == from_wallet and c_to == to_wallet:
        print('Найдено совпадение. Совершаем транзакцию(и)...')
        transact_file_read()
        break
    pbar.set_description(f'Обработка блока: {block_num}')
    pbar.update()
pbar.close()

def checkBlockNumber(bl_number=None): """Проверяем не изменился ли блок"""

if bl_number:
    if bl_number == web3.eth.getBlock('latest', full_transactions=True)['number']:
        checkBlockNumber(bl_number)
else:
    return web3.eth.getBlock('latest', full_transactions=True)['number']

def main_1(): """Основная функция для режима 1"""

while True:
    try:
        block_data = web3.eth.getBlock('latest', full_transactions=True)
        trans_dict = block_data['transactions']
        latest_block = checkBlockNumber()
        checkBlockNumber(block_data['number'])
        from_to_loop(trans_dict, latest_block)
    except requests.exceptions.ConnectionError:
        print('Не удалось установить соединение с сервером. Проверьте интернет.')
        break
    except ValueError as er:
        print('Ошибка: ' + str(er))
        break
    except AttributeError as er:
        print('Ошибка: ' + str(er))
        continue
    except KeyboardInterrupt:
        print('Программа завершена!')
        break

Ответы (0 шт):