hyperledger-archives / burrow

https://wiki.hyperledger.org/display/burrow
https://hyperledger.github.io/burrow
Apache License 2.0
1.03k stars 346 forks source link

[State] Replace IAVL #1495

Open silasdavis opened 3 years ago

silasdavis commented 3 years ago

IAVL lacks a maintainer and has fundamental performance issues (see https://github.com/cosmos/cosmos-sdk/discussions/829 and https://github.com/cosmos/cosmos-sdk/issues/7100)

The Cosmos SDK team are planning to replace their use of IAVL with https://github.com/lazyledger/smt but need to make breaking changes to KVStore, namely SMT does not support iteration over keys

https://github.com/silasdavis/trieste could still be an option, but needs work. If we want to have a defined 'file format' storage scheme (based on something like capnproto/flatbuffers) then it might be useful to own this layer.