As a Koinos user, I would like a fork aware mempool such that transactions do not get forgotten on forks.
[x] koinos/koinos-state-db-cpp#9
[x] koinos/koinos-mempool#81
[x] koinos/koinos-mempool#82
[x] koinos/koinos-mempool#83
[x] koinos/koinos-proto#192
[x] koinos/koinos-mempool#85
Note: Upon startup, the statedb root should be genesis (0x00). If transactions come in prior to a LIB, apply the transactions directly to the genesis node. When LIB comes in, attempt to attach it to previous, if there is no previous attempt to attach the node to genesis. If there is no genesis, report an error because something went wrong.
Anything else?
Right now it is possible for a transaction to end up on a fork, the cluster makes no attempt to re-apply this transaction on the main fork. This will cause bad UX for both users.
Is there an existing issue for this?
New feature
As a Koinos user, I would like a fork aware
mempool
such that transactions do not get forgotten on forks.Note: Upon startup, the
statedb
root should be genesis (0x00
). If transactions come in prior to a LIB, apply the transactions directly to the genesis node. When LIB comes in, attempt to attach it toprevious
, if there is no previous attempt to attach the node to genesis. If there is no genesis, report an error because something went wrong.Anything else?
Right now it is possible for a transaction to end up on a fork, the cluster makes no attempt to re-apply this transaction on the main fork. This will cause bad UX for both users.