Skip to content

Use INDEX mechanism

I've thought about a solution to express in a more formal way the protocol rules (local + global).

I call this new way the INDEX mechanism.

You can follow this issue to see the progress. I am planning to implement it in 13 steps:

  1. Create a function(block) => local index.
  2. Test 1. with few simple blocks.
  3. Remplace local_rules.js code by local index checkings + rewrite the local rules in the protocol accordingly.
  4. Split the local unit tests into separate files, instead of current big file which is not clear + add a file which tests the chaining of all the local rules.
  5. Create the SQL tables of MISC index (Membership, Identity, Source, Certification).
  6. Feed the index tables with local index as a new block is added to the blockchain.
  7. Create a function(block) => global index.
  8. Test 7. with few simple blocks.
  9. Feed the index tables with global index as a new block is added to the blockchain.
  10. Remplace the global_rules.js code by global index checkings + rewrite global rules in the protocol accordingly.
  11. Handle the new revert algorithm, relying on indexes.
  12. Remove deprecated fields + Remove deprecated functions (getCurrentExcludingOrExpiring, ...)
  13. Handle index windowing (index becomes a flow, we don't need to store it fully, just a window)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information