bitcoin-s/db-commons
rorp 74a44d1c4d Initial BIP157 support (#695)
* WIP: Initial BIP157 support

* store block hash and hetgh along with its compact filter header

* download and parse block filters

* getcfilters/cfilter

* cfilter table

* rescan full filter chain

* improved rescan performance

* optimize compact headers download

* addressed the PR comments

* split SVP and Neutrino node implementations

* configurable filter batch sizes

* initial filter sync

* addressed comments

* chage filter table's primary key

* fix Golomb filter deserialization

* batch database inserts

* neutrino node test

* fixed node test

* addressed the PR comments

* serializers tests

* cleanup

* fix compilation errors

* fix unit tests

* increase test coverage

* enable NeutrinoNodeTest

* make scalafmt happy

* don't cache experimental binaries

* inclease test coverage

* fix unit tests

* more granular CI tests

* disable NeutrinoNodeTest

* refactor tests

* addressed comments

* test coveage

* fix formatting

* responded to the comments

* some more changes

* fix the build

* test coverage

* revert testnet3 config parameter

* minor changes

* cleanup
2019-09-25 13:18:51 -05:00
..
src/main Initial BIP157 support (#695) 2019-09-25 13:18:51 -05:00
README.md Node (#490) 2019-06-04 09:53:00 -05:00

db-commons

This is a project that is meant to contain re-usable database related infrastructure for bitcoin-s. This project is a dependency of wallet and node.

The library that bitcoin-s currently uses for database related things is called Slick.

The most important file in this project is DbConfig. This provides a common way for databases to be accessed from configuration files. For more information on how Slick configuration files work please see this reference.

This project expects the following keys for databases

  • mainnetDb
  • testnet3Db
  • regtestDb
  • unittestDb

This will be read by DbConfig to specify database information related to a specific project. You can look at the database configuration for the node project for an example of how this works.