erigontech / erigontech/silkworm
Db format for Account/Storage History indexes
Open
research
- Dominant language
- C++
- Stars
- 318
- Forks
- 84
- PR merge metrics
- No merged PRs in 30d
Description
Current implementation (compatible with erigon stable) defines the indexes _schema_ as :
```
k : key + bitmap_shard_upper_limit (BE uint64_t)
v : bitmap data
```
where `key` is :
- for `AccountHistory` the account `address`
- for `StorageHistory` the composite of `contract address + location`
Need to evaluate if is worth to change the table definitions to `dupsorted` (aka multivalue) as :
```
k : key
v : bitmap_shard_upper_limit (BE uint64_t) + bitmap data
```
There should be minimal changes in the reads of historical accounts/storages and lot less key duplications
Contributor guide
Assessment
This issue has not been assessed yet.