We have estimated and prepared the detailed versions of our short- and long-term roadmap for RocksDB and SMTs with their target completion dates. To make everything come in shorter bursts and as the community has requested, we’ve broken out SMTs into SMT-lite, which is paired down to include the core functions of issuance and transfer of tokens. Additional roadmapped SMTs features are also listed.
Below is the spreadsheet outlining the different tasks for RocksDB and SMT-lite, as well as their ETA, points and status.
For RocksDB, our plan is to write an adapter that uses the BMIC (Boost Multi-Index Container) interface and replaces the behavior with a RocksDB backend. This will allow steemd to support both the existing BMIC/Chainbase implementation and RocksDB as a compile option without needing to change the consensus logic of steemd. Additionally, by creating the adapter to use the same interface as BMIC, we can leverage the existing BMIC unit tests to ensure that we replicate the expected behavior of BMIC, but backed by RocksDB. This will result in a 95%+ memory consumption reduction by moving our storage from memory to disk. Ultimately our target is to have Economic nodes (Full Nodes by a Bitcoin standard) running on commodity hardware with 4GB of RAM and a standard SSD.
The scaled-down SMTs scope includes these features: claiming names, tokens, issuance of tokens to one account, transfers between accounts, immutability (meaning that once a token is launched none of its original parameters can be altered) and a testnet.
Next iterations of SMTs will add back in these original functions:
Again, I will discuss these topics and your questions tomorrow during a livestream at 11am CST. See my post from Monday regarding submitting questions.