3177ee405f
* Move away from suredbits provided peers by default * Remove setting bitcoin-s.node.use-default-peers * Don't allow peer to stay connected if it doesn't support compact filters * Move disconnection logic into managePeerAfterInitialization() * Remove reconnect() when we have no other peers, send getaddr message after we know we are keeping the peer connection * Remove hasCf flag check, revert log * Reduce inactivity-timeout to 5 minutes by default, shuffle peers in PeerFinder beforing pushing onto stack * Add logic to disconnect AttemptToConnect peers after addr mesage is received * Create PeerFinder.queryForPeerConnections(), call it directly from PeerManager on health checks rather than restarting PeerFinder * scalafmt * Move more logic into managePeerAfterInitalization() * Don't set isPersistent for db peers by default * Add call to queryForPeerConnections() inside of PeerManager.onDisconnect() to try to attempt to more peers when we have no more connections, fix MisBehavingPeer logic to not start sync, starting sync should happen in onDisconnect() * Revert logback-test.xml * Sort peers we are attempting to connect to by lastSeen parameter * Refactor DoneSyncing.toHeaderSync() to return Option[HeaderSync] to represent the case where we don't have a peer to sync with * scalafmt * Remove duplicate PeerFinder.buildPeerData() |
||
---|---|---|
.github | ||
app | ||
app-commons | ||
app-commons-test/src/test/scala/org/bitcoins/commons | ||
async-utils/src/main/scala/org/bitcoins/asyncutil | ||
async-utils-test/src/test/scala/org/bitcoins/asyncutil | ||
bench | ||
bitcoin-s-docs | ||
bitcoind-rpc | ||
bitcoind-rpc-test | ||
chain | ||
chain-test | ||
clightning-rpc | ||
clightning-rpc-test | ||
core | ||
core-test | ||
crypto | ||
crypto-test | ||
db-commons | ||
db-commons-test/src/test | ||
dlc-node | ||
dlc-node-test | ||
dlc-oracle/src/main | ||
dlc-oracle-test/src/test/scala/org/bitcoins/dlc/oracle | ||
dlc-wallet/src/main | ||
dlc-wallet-test | ||
docs | ||
eclair-rpc | ||
eclair-rpc-test | ||
esplora/src/main/scala/org/bitcoins/esplora | ||
esplora-test/src/test/scala/org/bitcoins/esplora | ||
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 | ||
lnd-rpc | ||
lnd-rpc-test | ||
lnurl/src/main/scala/org/bitcoins/lnurl | ||
lnurl-test/src/test/scala/org/bitcoins/lnurl | ||
node | ||
node-test | ||
project | ||
release-notes | ||
secp256k1-zkp@9dd53912dc | ||
secp256k1jni | ||
testkit | ||
testkit-core | ||
tor | ||
tor-test/src/test/scala/org/bitcoins/tor | ||
wallet | ||
wallet-test | ||
website | ||
zmq | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.scalafmt.conf | ||
build.sbt | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
flyway.conf | ||
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.
Contents
- Running bitcoin-s
- Getting started (non-developers)
- Adding bitcoin-s to your library
- Docker images
- Contributing
- Good first issues
- License
Running bitcoin-s
Docker
In this repo, you can just run
APP_PASSWORD=topsecret docker-compose up
which will spin up a docker environment that starts syncing the backend and will allow you to visit
the web frontend of the wallet at localhost:3002
or you can build and run the electron app natively.
git clone https://github.com/bitcoin-s/bitcoin-s-ts.git
cd bitcoin-s-ts && ./build-wallet-electron.sh
Getting setup (developers)
For a complete guide on how to get setup with bitcoin-s, see our Getting setup.
This link is intended for setting up development of bitcoin-s. If you want to just install bitcoin-s rather than develop, see Getting started above.
Adding bitcoin-s to your library
The latest release of bitcoin-s is 1.9.7
, here is how you can use the dependencies in your projects:
libraryDependencies += "org.bitcoin-s" % "bitcoin-s-secp256k1jni" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-core" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-crypto" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-chain" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-dlc-oracle" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-oracle-explorer-client" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-app-commons" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-db-commons" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-fee-provider" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-bitcoind-rpc" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-eclair-rpc" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-lnd-rpc" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-key-manager" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-node" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-dlc-node" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-wallet" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-dlc-wallet" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-testkit-core" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-testkit" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-zmq" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-tor" % "1.9.7"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-cli" % "1.9.7"
Docker images
We publish docker images to docker hub on every PR merge and tag on github. You can obtain the images for both the app server and oracle server on these docker hub repos
Contributing
Bitcoin-S is an open source project where anyone is welcome to contribute. All contributions are encouraged and appreciated, whether that is code, testing, documentation or something else entirely.
See here for more information.
Good first issues
Here is a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with the bitcoin-s contribution process.
License
Bitcoin-s is MIT licensed, as found in the LICENSE file.