add doc design of tx pool

pull/1326/head
Minh Doan 5 years ago
parent 6eb83ca29e
commit f82f5a2e0b
  1. 41
      core/tx_pool.md

@ -0,0 +1,41 @@
# TxPool design
---------------
## Functionalities
1. Being a storage of coming transactions
2. Managing all tx policies/filters (see below)
3. Handling logic of accepting new txs and generating a new block of tx
## Policies
### PriceLimit
This policy is to ensure that minimum gas price of a coming transaction should be enforced for acceptance into the pool.
### PriceBump
This policy is to accept a later transaction from the sender with the same nonce of an accepted transaction and drop that accepted transaction if the gas price of later transaction is (100+PriceBump)% more than the gas price of the accepted transaction.
### AccountSlots
This policy is to limit the number of executable transactions slots per account.
### GlobalSlots
This policy is to limit the number of executable transactions slots of all accounts.
### AccountQueue
This policy is to limit the number of non-executable transactions slots per account. The non-executable transactions are stored in a queue data structure. See later.
### GlobalQueue
This policy is to limit the number of non-executable transactions slots of all accounts. The non-executable transactions are stored in a queue data structure. See later.
### Lifetime
This policy is to limit the amount of time non-executable transactions are queued.
### DropOldTx
This policy is to drop all transactions that are deemed too old
### DropLowBalance
This policy is to drop all transactions that are too costly (low balance or out of gas)
## Data Structure
Coming up later.
Loading…
Cancel
Save