# State management implementation
https://github.com/farcaster-project/RFCs/blob/main/09-swap-state.md
## Roadmap
### 1. `DONE` decide on non-WASM database
Following discussion with TheCharlatan, LMDB seems to be the best choice for maximizing fault tolerance / corruption resistance, at least with the `--lmdb-sync-mode=sync` configuration, but let's discuss alternatives.
LMDB API rust wrapper: https://github.com/danburkert/lmdb-rs
### 2. `TODO` implement checkpoint recovery
Mandatory for safety.
See https://github.com/farcaster-project/RFCs/blob/main/09-swap-state.md#state-transition
Relevant PR: https://github.com/farcaster-project/farcaster-node/pull/422
### 3. `TODO` implement message replay
Optional for safety.
See https://github.com/farcaster-project/RFCs/blob/main/09-swap-state.md#state-transition
### 4. `TODO` add WASM storage