eth.pendingTransactions против eth.getBlock('ожидание').transactions

В чем разница между eth.pendingTransactionsи eth.getBlock('pending').transactions?

Я заметил, что иногда eth.pendingTransactionsесть некоторые транзакции, которых eth.getBlock('pending').transactionsнет.

Ответы (1)

eth.pendingTransactions— это транзакции, которые есть у вашего локального узла Geth, которые не были добыты до блока.

eth.getBlock('pending')текущий блок, который майнит ваш узел (или будет майнить). Это не блок, который был добавлен в блокчейн. eth.getBlock('pending').transactionsтранзакции, которые включены в этот гипотетический блок.

Если вы отправляете транзакцию, вы сначала увидите ее в eth.pendingTransactions, прежде чем майнер включит ее в блок.

Содержит ли eth.pendingTransactions только tx, созданный собственным узлом, или также tx, переданный другими? Или другими словами: можно ли узнать о входящих платежных транзакциях эфира до того, как они будут подтверждены в блоке (как в btc)
@tobi Для Geth вы можете взглянуть на txpool
хорошо, спасибо! Так наверное и для паритета тоже, да? Я только начинаю разбираться в этом, но я предполагаю, что их интерфейсы rpc очень похожи.
@eth Привет, это правда для узла, который не занимается майнингом? Я не вижу, что может представлять этот «гипотетический блок» на узле, не связанном с майнингом, при использовании «ожидания» в качестве параметра.
@NicolasMassart Если бы не майнинг, «ожидание» было бы таким же, как «последний» блок (есть у вашего узла). Если есть разница, возможно, стоит связать новый вопрос.