Bitcoin Implementation in Scala
Find a file
Chris Stewart b0b1c1cc42 Start the process of refactoring our ChainHandler to be able to avoid… (#655)
* Start the process of refactoring our ChainHandler to be able to avoid database calls on TipValidation

WIP: Begin explicity passing state back and forth in return types of PeerMessageReceiver, P2PClient, , DataMessageHandler. This commit also implements the ability to keep our blockchain completely in memory. Previously when we were updating the tip of the chain, we had to make a database read to figure out what the best tips are. This is suboptimal for performance because a database read needs to be done for every block header we see, now we just keep the chain in memory

Fix bug in DataMessageHandler that pre-emptively sent a getheadersmsg to our peer. Make 'chainApiF' internal to our spvNode (not a parameter). This forces the chainApi to be created from disk everytime a new SpvNode is spun up. This keeps us in sync with the blockchain at disk at the cost of disk access and less modularity of SpvNode

Address torkel code review

Fix rebase issues

Address code review

Address nadav code review

* Rebase onto master, fix api changes
2019-08-06 13:31:54 -05:00
.github/ISSUE_TEMPLATE Update bug report template 2019-06-20 17:26:02 +02:00
app Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
bench Creates a package for the bench project, moves BlockBench into that package (#472) 2019-05-14 09:21:50 -05:00
bitcoin-s-docs Attempt to fix .get exception in docs.sbt (#620) 2019-07-13 08:06:32 -05:00
bitcoind-rpc Cleaning up Publish Logs (#634) 2019-07-31 12:28:22 +02:00
bitcoind-rpc-test/src/test Killing Joda Dependency (#643) 2019-07-29 12:22:25 +02:00
chain Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
chain-test/src/test Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
core Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
core-test Add configurable logging to data directory (#640) 2019-08-01 06:01:56 -05:00
db-commons Add configurable logging to data directory (#640) 2019-08-01 06:01:56 -05:00
docs Add configurable logging to data directory (#640) 2019-08-01 06:01:56 -05:00
eclair-rpc Cleaning up Publish Logs (#634) 2019-07-31 12:28:22 +02:00
eclair-rpc-test/src/test/scala/org/bitcoins/eclair implement ability to monitor a invoice that we are generated (#649) 2019-07-19 13:03:43 -05:00
node Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
node-test/src/test/scala/org/bitcoins/node Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
project Update slf4j-api to 1.7.27 (#677) 2019-08-06 07:13:32 -05:00
secp256k1@2e16ac7d6c Changing TxSigComponent to take a TransactionOutput instead of a ScriptPubKey, refactoring ScriptProgram into 3 companion objects PreExecutionScriptProgram, ExecutionInProgressScriptProgram, ExecutedScriptProgram 2018-05-19 09:25:32 -05:00
secp256k1jni 2019 07 01 windows secp256k1 bin (#559) 2019-07-02 05:42:49 -05:00
testkit Start the process of refactoring our ChainHandler to be able to avoid… (#655) 2019-08-06 13:31:54 -05:00
wallet Add functionality for updating SPV node bloom filter (#585) 2019-08-02 09:22:20 -05:00
wallet-test/src/test Address issue #673, also refactor fixture stuff to be in companion ob… (#676) 2019-08-06 11:49:17 -05:00
website Add Bitcoin-S logo to git repo 2019-06-28 10:28:51 +02:00
zmq Node (#490) 2019-06-04 09:53:00 -05:00
.dockerignore WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
.gitignore WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
.gitmodules Adding specific commit for secp256k1 2018-04-25 16:44:48 -05:00
.jvmopts Reduce number of requests we send to eclair in testkits, add commandN… (#343) 2019-02-19 14:18:37 -06:00
.scalafmt.conf Somewhat dirty standalone server and CLI binary (#558) 2019-07-10 06:33:17 -05:00
build.sbt Add note on how to build JAR files (#663) 2019-07-30 18:52:50 -05:00
CONTRIBUTING.md WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
docker-compose.yml Docs: removes blog from website 2019-06-11 12:59:58 +02:00
Dockerfile WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
inThisBuild.sbt Favor publishing 2.12 artifacts first in bitcoin-s, so if something fails with the 2.11 build we get the 2.12 artifact first (#624) 2019-07-15 06:27:05 -05:00
LICENSE updating license 2018-01-17 17:15:18 -06:00
README.md Revamp README (#513) 2019-06-17 05:53:58 -05:00
try-bitcoin-s.sh Doc: Add stable and unstable version, try bitcoin-s script 2019-05-31 17:14:15 +02:00

Bitcoin-S logo Build Status Coverage Status Maven Central Gitter chat

Feature rich toolkit for making Bitcoin and Lightning applications on the JVM.

For a complete guide on how to get started with Bitcoin-S, see our website at Bitcoin-S.org