Pros:
- Atomic writes, rather than triggered on a timer (no reliance on a graceful disconnect to ensure everything is written)
- More reliable cross-platform support
- Compatible with the existing store model in plugins, which simplifies the implementation
- If only the values are encrypted (and not keys), we have more data to restore lost funds if users forget their password
Cons:
- Single JSON file provides a more portable config across machines
- Some DBs are a pretty heavy dependency, and use native modules that can cause problems with Electron
- If only the values are encrypted, the keys can expose metadata (likely not a big deal, the pros of this I definitely think outweigh the cons)
My gut feeling is we'll need to implement our own encryption layer for either JSON or a key-value store, since at least for LevelDB/level, it didn't look like there were many great options.
@rhuairahrighairidh Thoughts/anything else?
Pros:
Cons:
My gut feeling is we'll need to implement our own encryption layer for either JSON or a key-value store, since at least for LevelDB/level, it didn't look like there were many great options.
@rhuairahrighairidh Thoughts/anything else?