bitcoin-s/db-commons
Torkel Rogstad a71aecec52 Process outgoing transactions (#555)
* Split wallet functionality into multiple traits

In this commit we refactor LockedWallet into multiple traits
that provide functionality related to a subset of total wallet
functionality. This has the benefit of making it clear which
methods are helper methods that are only intended to be used
in a very specific setting, and which methods are part of the
internal wallet API that other parts of the wallet can use.

* Rework TransactionOutput and TransactionOutPoint to case classes

* Add extension methods for flattening lists of assertions

* Segregate confirmed and unconfirmed balance methods

* Add test for FutureUtil.sequentially

* Add trace logging of balance fetching

* Process outgoing TXOs

Move TX processing into separate trait, add internal API method

Unify DB representation of TXOs

    Prior to this commit we stored TXO information
    across diferent tables, with joins and tuples
    needed a bunch of places to keep track of
    everything we needed. In this commit we unify
    the tables, leaving us with only one table for
    TXOs.
2019-07-09 06:25:24 -05:00
..
src/main Process outgoing transactions (#555) 2019-07-09 06:25:24 -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.