erigontech / erigontech/silkworm

Db format for Account/Storage History indexes

Open
#738 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.