his-lib: persistence
Implement persistence at the application layer in example config.yaml to specify persistence level for each app
0: none 1: timestamp, hash, signature and content for my messages (those I sent or those sent to me) 2: 1+ timestamps, hashes and signatures for all messages (regardless of sender/recipient), and content only for my messages 3: timestamp, hash, signature and contents for all messages
HCS messages and application messages must be stored.
Note: If key rotation is implemented, it may not be useful to keep messages that relate to an "expired" key, automatic pruning may be desirable.
Persistence should be implemented a plug-in such that the persistence layer can be changed later (e.g. change of database vendor, or persist to file rather than database)
Choice of persistence should be the result of dropping a persistence-compliant jar which takes care of the persistence implementation, not hard coded in the lib.
Do not implement all persistence options right now, one will suffice so long as others can be added later.
the plugin now reads the yaml config that is supplied with the example app. the persistence level is defined in the global config
The persistence should be implemented in the persistence plug in before closing this issue.