mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-23 06:45:21 +01:00
Bitcoin Implementation in Scala
* 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 |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
app | ||
app-commons | ||
app-commons-test/src/test/scala/org/bitcoins/commons | ||
bench | ||
bitcoin-s-docs | ||
bitcoind-rpc | ||
bitcoind-rpc-test | ||
chain | ||
chain-test/src/test | ||
core | ||
core-test | ||
crypto/src/main/scala/org/bitcoins/crypto | ||
crypto-test | ||
db-commons | ||
db-commons-test/src/test/scala/org/bitcoins/db | ||
dlc-oracle/src/main | ||
dlc-oracle-test/src/test/scala/org/bitcoins/dlc/oracle | ||
docs | ||
eclair-rpc | ||
eclair-rpc-test | ||
fee-provider/src/main/scala/org/bitcoins/feeprovider | ||
fee-provider-test/src/test/scala/org/bitcoins/feeprovider | ||
key-manager | ||
key-manager-test/src/test/scala/org/bitcoins/keymanager | ||
node | ||
node-test/src/test/scala/org/bitcoins/node | ||
project | ||
secp256k1@c9bab11ef0 | ||
secp256k1jni | ||
testkit | ||
wallet | ||
wallet-test/src/test | ||
website | ||
zmq | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.jvmopts | ||
.scalafmt.conf | ||
build.sbt | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
inThisBuild.sbt | ||
LICENSE | ||
README.md | ||
try-bitcoin-s.sh |
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"