Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RocksDB Replacement in CBF Blockchain #480

Closed
rajarshimaitra opened this issue Nov 30, 2021 · 1 comment
Closed

RocksDB Replacement in CBF Blockchain #480

rajarshimaitra opened this issue Nov 30, 2021 · 1 comment
Assignees
Labels
summer-of-bitcoin Summer of Bitcoin Project Proposal

Comments

@rajarshimaitra
Copy link
Contributor

rajarshimaitra commented Nov 30, 2021

Description

Currently the Compact Block Filters (BIP157) blockchain backend implementation for BDK, uses RocksDB as the database to store the compact block filter data. RocksDB is quite a large dependency and it takes a significant amount of building time, while compiling bdk with compact_filters feature. Also RocksDB crate is not native rust, its a wrapper over rocksdb, which increases its compilation time even more. Thus it is desirable to replace RocksDB with a more smaller and compact DB implementation.

The required feature for a candidate DB for CBF would be

  • Simple Key-Value storage.
  • Automated disk flushing.
  • Smaller build time than RocksDB.
  • Preferably having its own rust implementation.

Expected Outcomes

  • General understanding of BIP157, BIP158 and BDK CBF syncing mechanism.
  • Literature survey and comparative study between different DB implementation.
  • Complete replacement of RocksDB.
  • Faster build and run time with new DB, demonstrated via benchmarking.

Resources

Skills Required

Mentor(s)
@rajarshimaitra

Difficulty: Hard

Competency Test (optional)

  • Install rust, compile and run all bdk examples and tests.
  • Read through the BDK docs.
  • Familiarity with basic rust, should be able to write basic custom trait implementations on foreign structures.
@evanlinjin
Copy link
Member

This is no longer relevant for BDK v1.0.

@github-project-automation github-project-automation bot moved this from Todo to Done in BDK Maintenance Jan 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
summer-of-bitcoin Summer of Bitcoin Project Proposal
Projects
Status: Done
Development

No branches or pull requests

2 participants