ГЛАВНАЯ / ИНСТРУКЦИИ / MEMPOOL ETHEREUM: ПОЧЕМУ ТРАНЗАКЦИЮ ВИДИТ ОДИН УЗЕЛ, НО НЕ ДРУГОЙ
Mempool Ethereum: почему транзакцию видит один узел, но не другой
У Ethereum нет единого обязательного списка неподтверждённых транзакций, который одинаково хранит каждый узел. Execution-клиенты ведут собственные transaction pool и обмениваются транзакциями с peer, поэтому локальная видимость и условия приёма могут различаться.
Pending означает состояние выбранного узла
Когда узел принимает подписанную транзакцию, он проверяет её и может поместить в локальный transaction pool. Это хранилище pending-операций, а не часть уже подтверждённого состояния Ethereum. RPC-провайдер обычно сообщает о транзакциях, которые видит его собственная инфраструктура или подключённые источники.
Другой узел может пока не получить транзакцию, отклонить её из-за локальных правил, заменить конкурирующей транзакцией с тем же nonce или удалить по собственному лимиту. Поэтому ответ одного обозревателя или RPC описывает его точку наблюдения, а не гарантирует видимость по всей сети.
- запишите transaction hash и адрес отправителя;
- уточните, какой RPC вернул статус pending;
- не считайте статус локального интерфейса подтверждением блока.
Peer-to-peer обмен не синхронизирует все transaction pool мгновенно
Execution-клиенты обмениваются объявлениями о pending-транзакциях и запрашивают неизвестные им данные у peers. Время и полнота распространения зависят от подключений, доступности peer, правил клиента и состояния сети. Узлы также могут фильтровать или временно не ретранслировать конкретную транзакцию.
Узлы с разной топологией подключений получают разные потоки сообщений. Это объясняет, почему транзакция уже появилась у RPC одного поставщика, но пока не видна у другого. Она может также попасть к block builder или валидатору по частному каналу, не появившись в публичном pool конкретного RPC.
Сравните hash, nonce и источник статуса
Сверьте точный hash в кошельке с ответом RPC. Если hash известен, запросите его у другого надёжного провайдера и отдельно проверьте адрес отправителя и nonce. Для замены транзакции проверьте, не отправлялась ли операция с тем же nonce и другими параметрами комиссии.
Статус `pending` обычно означает, что выбранный узел знает транзакцию, но не видит её в каноническом блоке. Статус `not found` может означать отсутствие записи у конкретного источника. Успех подтверждают receipt и блок, а после возможной реорганизации стоит проверить, остаётся ли транзакция в канонической цепи.
- сопоставьте hash и chain ID;
- проверьте nonce и возможную замену;
- ищите receipt и номер блока в нескольких источниках.
Не отправляйте повторно ту же операцию вслепую
Повторная отправка может создать конкурирующую транзакцию, особенно если используется тот же account nonce. Сначала установите, была ли исходная транзакция принята в блок, ещё находится в pool или заменена. Если меняете параметры, проверьте локальные правила кошелька и RPC, который будет передавать подписанные данные.
Публичный mempool – не журнал окончательного результата. Сохраните исходные hash и nonce, а затем следите за receipt и состоянием канонического блока.
Частые вопросы
В Ethereum есть один общий mempool?
Нет. Pending pool хранится локально execution-клиентами и может отличаться между узлами и RPC.
Транзакция точно отправлена в сеть, если кошелёк показал pending?
Это подтверждает только статус в выбранном кошельке или его RPC. Сверьте hash у другого узла и следите за включением в блок.
Почему обозреватель пишет not found, если кошелёк видит транзакцию?
Обозреватель может использовать другой источник и не видеть эту транзакцию в своём pool. Сравните hash и RPC, затем проверьте receipt.
Чек-лист: mempool ethereum: почему транзакцию видит один узел, но не другой
- сохранён точный transaction hash;
- проверены chain ID, sender и nonce;
- сравнены ответы независимых RPC;
- проверено наличие receipt и блока;
- исходная операция установлена до повторной отправки.
Материал подготовлен редакцией сайта и проверен 12 октября 2026 года. Условия бирж, кошельков и блокчейн-сетей могут меняться. Перед операцией сверяйте данные в интерфейсе выбранного сервиса.