bitcoin-s/chain
Torkel Rogstad 46280c9e59 Add functionality for updating SPV node bloom filter (#585)
* Add functionality for updating SPV node bloom filter

* Add SPV node shutdown to exit hook

* Clean up traits/case classes

* Change fixture in WalletBloomTest

* Fix logging bug in TransactionProcessing

* Add MerkleBuffers

In this commit we add MerkleBuffers, which is an object
that lets us aggreagate merkleblocks with their corresponding
transactions before sending them out. This is global, mutable
state (bad!) but it's a working solution for now;

* Use TestAsyncUtil

* Add MerkleBuffers test

* Send getdata if receiving single header

* Change awaitSync to use block count

* Fix UpdateBloomFilterTest

* Add more logging of chain/headers validation

* Send getdata for all blocks

* Nits: Scaladocs, comments toString
2019-08-02 09:22:20 -05:00
..
src/main/scala/org/bitcoins/chain Add functionality for updating SPV node bloom filter (#585) 2019-08-02 09:22:20 -05:00
build.sbt Node (#490) 2019-06-04 09:53:00 -05:00
README.md Node (#490) 2019-06-04 09:53:00 -05:00

chain

This is meant to be a stand alone project that process a new block / transaction and stores it. It also provides a interface to query information related to a blockchain.

The design goal with this project is to be agnostic of how the project is receiving the blockchain data, just that it processes and stores it. For instance you could provide the blockchain data via

  • rpc
  • zmq
  • p2p
  • sattelite

This project just stores relevant block and transaction information and allows for it to be queried via a api.