Bitcoin Implementation in Scala
Find a file
Chris Stewart 66ec96b1f5 2020 11 13 issue 2258 (#2260)
* Introduce ChainHandlerCached which behaves like the old ChainHandler. Now Chainhandler.getBestBlockHeader() will read headers from the database

* Remove ChainHandler.blockchains field, now it's only available in ChainHandlerCached

* De-futurify ChainHandler.fromDatabase()

* Adjust logging

* Patch test case

* Use BlockHeaderDAO.chainTips when getting best header rather thean BlockHeaderDAO.getBlockchains(). Implement a helper method ChainHandler.toChainHandlerCached()

* Fix chain.md,wallet.md

* Make ChainHandler.getBestBlockHeader() consider time of header if chainwork is the same. Make test cases less strict on what header is the best header when both chainwork and time are the same on the eader

* Only execute callbacks on headers that are going to be created in the database, not all headers passed into ChainHandler.processHeadersWithChains()

* Turn up log level again

* Small optimizations, check if we have seen a header before before processing it in ChainHandler.processHeadersWithChains(). Fix FilterSyncMarker.toString(). Use ChainHandlerCached in Node

* Remove ChainHandlerCached in appServer, re-add it in Node.scala
2020-11-17 06:19:07 -06:00
.github/ISSUE_TEMPLATE Update bug report template 2019-06-20 17:26:02 +02:00
app 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
app-commons Add ability to change aes password (#2254) 2020-11-15 08:07:49 -06:00
app-commons-test/src/test/scala/org/bitcoins/commons Decode PSBT function (#2237) 2020-11-06 06:56:46 -06:00
bench 2020 11 02 cleanup (#2233) 2020-11-03 11:07:04 -06:00
bitcoin-s-docs Change versions in readme (#2065) 2020-09-27 08:16:59 -05:00
bitcoind-rpc Use PSBT type in bitcoind calls (#2242) 2020-11-09 08:50:48 -06:00
bitcoind-rpc-test Use PSBT type in bitcoind calls (#2242) 2020-11-09 08:50:48 -06:00
chain 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
chain-test/src/test 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
core 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
core-test Add helper OracleEventTLVV0.maturation method (#2267) 2020-11-17 06:18:32 -06:00
crypto/src/main/scala/org/bitcoins/crypto Add ability to change aes password (#2254) 2020-11-15 08:07:49 -06:00
crypto-test 2020 11 02 cleanup (#2233) 2020-11-03 11:07:04 -06:00
db-commons 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
db-commons-test/src/test/scala/org/bitcoins/db Use New Oracle TLVs in DLCOracle (#2162) 2020-11-10 06:08:43 -06:00
dlc-oracle/src/main Fix listEvents in DLCOracle (#2265) 2020-11-16 06:32:40 -06:00
dlc-oracle-test/src/test/scala/org/bitcoins/dlc/oracle Fix listEvents in DLCOracle (#2265) 2020-11-16 06:32:40 -06:00
docs 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
eclair-rpc Upgrade to scalac 2.13.3 (#2115) 2020-10-04 07:42:44 -05:00
eclair-rpc-test Upgrade to scalac 2.13.3 (#2115) 2020-10-04 07:42:44 -05:00
fee-provider/src/main/scala/org/bitcoins/feeprovider Fee Provider from config (#2219) 2020-11-03 09:06:18 -06:00
fee-provider-test/src/test/scala/org/bitcoins/feeprovider Create more of a project structure in org.bitcoins.core.api, move DbR… (#1799) 2020-08-12 06:13:23 -05:00
key-manager Add ability to change aes password (#2254) 2020-11-15 08:07:49 -06:00
key-manager-test/src/test/scala/org/bitcoins/keymanager Add ability to change aes password (#2254) 2020-11-15 08:07:49 -06:00
node 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
node-test/src/test/scala/org/bitcoins/node 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
project Update sbt to 1.4.3 (#2266) 2020-11-16 14:32:31 -06:00
secp256k1@c9bab11ef0 Add low R signing (#1342) 2020-07-29 15:03:18 -05:00
secp256k1jni OSX native libsecp256k1 (#2014) 2020-09-14 17:45:55 -05:00
testkit 2020 11 13 issue 2258 (#2260) 2020-11-17 06:19:07 -06:00
wallet Use same config option for key manager projects (#2252) 2020-11-11 12:18:02 -06:00
wallet-test/src/test Let wallet sign PSBTs (#2236) 2020-11-07 09:25:59 -06:00
website Update slack links (#2134) 2020-10-06 12:53:38 -05:00
zmq 2020 11 02 cleanup (#2233) 2020-11-03 11:07:04 -06:00
.dockerignore WIP: Docusaurus website (#465) 2019-05-14 18:05:14 -05:00
.gitignore PostgreSQL support (#1315) 2020-06-02 16:37:48 -05:00
.gitmodules Update Secp256k1 (#1310) 2020-04-14 15:42:58 -05:00
.jvmopts Add hardcoded jvmopts file that starts with a 2g heap (#1436) 2020-05-20 07:31:58 -05:00
.scalafmt.conf Update scalafmt-core to 2.6.4 (#1686) 2020-08-24 14:24:16 -05:00
build.sbt Add DLC Oracle Server Endpoints (#2105) 2020-10-03 15:24:02 -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 Exclude sbt keys that unused (are they really unused?) (#2194) 2020-10-15 10:46:31 -05:00
LICENSE updating license 2018-01-17 17:15:18 -06:00
README.md Change versions in readme (#2065) 2020-09-27 08:16:59 -05:00
try-bitcoin-s.sh Update try-bitcoin-s.sh (#1165) 2020-02-26 07:50:17 -06: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

Getting started

https://bitcoin-s.org/docs/getting-setup

Adding bitcoin-s to your library

The latest release of bitcoin-s is v0.4.0, here is how you can use the dependencies in your projects:

libraryDependencies += "org.bitcoin-s" % "bitcoin-s-secp256k1jni" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-core" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-chain" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-bitcoind-rpc" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-eclair-rpc" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-key-manager" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-node" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-wallet" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-testkit" % "0.4.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-zmq" % "0.4.0"