bitcoin-s/db-commons
Torkel Rogstad 7f0b11c019 Add functionality for broadcasting TXs to node (#577)
* Add functionality for broadcasting TXs to node

In this commit we add functionality and tests
for broadcasting a TX from our node. To accomplish
this we introduce a table over broadcastable TXs
that's added to when the externally facing method
broadcastTransaction(tx) withing SpvNode is called.
We send out a inv message for the TX we just added,
and upon receiving a getdata message we search in
the previously mentioned table for entries where
the hashes match up.

* Broadcast TX from server to SPV node

* Perform assertions on the balance of bitcoind after sending a TX

* Remove typeclass from broadcast TX

* Refactor withFundedWalletAndBitcoind

* Match on BitcoindExecption instead of throwable

* Clean up broadcast functionality after code review
2019-07-17 07:32:05 -05:00
..
src/main Add functionality for broadcasting TXs to node (#577) 2019-07-17 07:32:05 -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.