You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here is some idea of the logic employed by the transaction pool. maybe somebody has an opinion about that.
The txPool can prioritise transactions for packing. This is done by logically tagging or labelling accounts or transactions as local.
Local accounts
Tagging accounts as local is done persistently. It is active up until the tag is removed again from the account. All current and future valid transactions from the local account are preferred when it comes to packing. For example, the address passed to the TxPoolRef constructor is automatically tagged local (which must be explicitely removed if undesirable.)
This is basically the way Geth looks at local accounts.
Local transactions
Individual transactions can also sort of be tagged local. The idea was inspired by some OpenEthereum command line options document (scroll down to Local transactions.) This is not a full description how they work in relation to other transactions.
For consistency here, valid transactions tagged local also imply all transactions with nonces smaller than the current one local for a given account. These transaction tags are temporary and will be flushed out regularly when the packed block was accepted (more specifically when the internal head was ajusted using smartHead().)
The temporary nature of local transactions has consequences. Consider a successful packing session with local transactions. The session has been committed using smartHead() and the notion of locality gets flushed out. Then roll back to the previous state (using smartHead() again.) All the transactions from the block chain will be copied back (from the block chain) and available, again but the there is no such thing as a local transaction, anymore.
.. any comments?
The text was updated successfully, but these errors were encountered:
Here is some idea of the logic employed by the transaction pool. maybe somebody has an opinion about that.
The txPool can prioritise transactions for packing. This is done by logically tagging or labelling accounts or transactions as local.
Local accounts
Tagging accounts as
local
is done persistently. It is active up until the tag is removed again from the account. All current and future valid transactions from thelocal
account are preferred when it comes to packing. For example, the address passed to theTxPoolRef
constructor is automatically tagged local (which must be explicitely removed if undesirable.)This is basically the way Geth looks at local accounts.
Local transactions
Individual transactions can also sort of be tagged
local
. The idea was inspired by some OpenEthereum command line options document (scroll down toLocal transactions
.) This is not a full description how they work in relation to other transactions.For consistency here, valid transactions tagged
local
also imply all transactions with nonces smaller than the current onelocal
for a given account. These transaction tags are temporary and will be flushed out regularly when the packed block was accepted (more specifically when the internal head was ajusted usingsmartHead()
.)The temporary nature of local transactions has consequences. Consider a successful packing session with local transactions. The session has been committed using
smartHead()
and the notion of locality gets flushed out. Then roll back to the previous state (usingsmartHead()
again.) All the transactions from the block chain will be copied back (from the block chain) and available, again but the there is no such thing as a local transaction, anymore... any comments?
The text was updated successfully, but these errors were encountered: