bitcoin-s/chain
Chris Stewart 2238308201 2019 08 16 process header optimization (#701)
* WIP: implement processHeaders() in ChainHandler instead of processHeader()

* Create ConnectTipResult which is returned from Blockchain.connectTip(), this decouples 'BlockchainUpdate' and Blockchain.connectTip(). This was needed because it doesn't make sense to have a Vector[BlockHeaderDb] returned from Blockchain.connectTip() as we are validating one header. However, to execute batch inserts, we need to accumulate headers somewhere. I choose to do this in BlockchainUpdate with the 'successfulHeaders' field.

* make chain-verification log level INFO

* Add unit test for benchmarking ChainHandler.processHeaders() that cuts out extraneous noise in another test case

* Address code review
2019-08-23 05:48:09 -05:00
..
src/main/scala/org/bitcoins/chain 2019 08 16 process header optimization (#701) 2019-08-23 05:48:09 -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.