bitcoin-s/db-commons
Chris Stewart ff051ac7a2 2019 08 05 broadcast tx test (#680)
* Start refactoring BroadcastTransactionTest to use new SpvNodeFundedWalletBitcoind fixture

* Double timeout to 10.seconds on spv node disconnect

* Attempt to bump disconnect even more

* Add more logging around starting and stoping spv node to try and debug failures with fixtures on test suites

* move starting of spv node into one place in the fixtures -- createSpvNode() --, also look at ordering of destruction to make sure that the spv node is stopped/destroyed BEFORE bitcoind is stopped/destroyed. If the inverse order happens, our spv node won't receive a response from bitcoind and will hang waiting for the Tcp connection to close gracefully

* Try switching from  to  to get CI to pass

* Add more logging and throws to try and debug failures on ci

* Add logging in the case we send a close command and peer isn't defined

* Match on Tcp.Connect on default receive in P2PClient

* Make SpvNode.disconnect() check to see if we are connected before attempting to disconnect

* Add more logging in fixtures, change behavior of SpvNode.disconnect() to not throw if we are already disconnected

* Switch to preferred way of terminating actor system in tests

* Make PeerMessageSender.sendMsg() return a , make sure a message is not sent to P2PClient until we are fully intialized

* Switch p2p logging to DEBUG

* Complete disconnect promise on peer message recv in the case where we didn't have a peer to begin with

* Make SpvNodeTest more robust, fix bug for when we send 'sendheaders' message. We shouldn't do this until our peer has sent us a verack

* Only send 'sendheaders' message to our peer after we receive a 'sendheaders' message from our peer. Hopefully this solves async issues where we were sending 'sendheaders' before our handshake was fully completed with our peer which means we wouldn't get headers sent to us

* Cleanup pt1
2019-08-14 07:18:36 -05:00
..
src/main 2019 08 05 broadcast tx test (#680) 2019-08-14 07:18:36 -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.