-
Notifications
You must be signed in to change notification settings - Fork 6
The real v2 - new database and new data model + gRPC #40
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
base: master
Are you sure you want to change the base?
Conversation
We are now using the proper cmd, internal, pkg structure. The fucntions and information flow within the program will still need to be overhauled.
Redesigned to have byte slices/arrays instead of strings for almost all relevant fields
- Might have to fix some naming conventons - This will also greatly benefit from general type clean up - benchmarking incoming
Sqlite is still a complete bottleneck, despite adding batched block insertions and dropping indexes while writing initially. Only 50% speed improvements up to now
write is not the bottleneck at all, it's pulling blocks
- Massive speed ups in initial sync - We need to adjust apis and remove legacy code
Working endpoints: - GetInfo - GetBestBlockHeight - GetBlockHashByHeight - TweaksArray ("unpruned" index) - TweaksIndexArray (cut-through) - Streaming Endpoints (only tweak data is included) Todos: - Make dust query for tweaks and utxos - Refactor v1 endpoint to use DB interface - Remove core/, dblevel/
blindbit-oracle communication with bitcoin node now requires rest to be enabled in bitcoin.conf blindbit.toml changes: validate gRPC endpoint using grpcurl: |
# bitcoin core rest endpoint | ||
# note: requires bitcoin core PR #32540 (already merged to master but in a release yet) | ||
# default: "" | ||
core_rest_endpoint = "http://127.0.01:38332" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing . between 01
This comment was marked as resolved.
This comment was marked as resolved.
8262ddc
to
990db64
Compare
Should be fixed now |
"flag" | ||
"fmt" | ||
"path" | ||
"runtime" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
runtime library not used
This patch seems to address the outpoint index issue causing duplicate tweaks for a block |
Introducing a fully concurrent syncing process. Took some inspiration in libbitcoin's append only philosophy. gRPC reduces bandwidth and grPC streaming shows great performance increases with regards to pulling data as a client.
Pebble is used as key value store. Data model will be explained later
Bugs: