2019-05-15 01:05:14 +02:00
---
id: getting-started
2020-03-18 16:11:06 +01:00
title: Intro and Getting Started
2019-05-15 01:05:14 +02:00
---
2020-03-18 16:11:06 +01:00
## Philosophy
Bitcoin-S is a loosely coupled set of cryptocurrency libraries for the JVM. They work well together, but also can be used
independently. This project's goal is NOT to be a full node implementation, rather a set of scalable cryptocurrency libraries
that use industry standard tools (rather than esoteric tech often found in cryptocurrency) where possible to make the lives of professional
software engineers, security engineers, devops engineers and accountants easier.
We are rapidly iterating on development with the goal of getting to a set of stable APIs that only change when the underlying bitcoin protocol changes.
If you are a professional working a cryptocurrency business and
2020-06-17 15:51:57 +02:00
have feedback on how to make your lives easier, please reach out on [slack ](https://join.slack.com/t/suredbits/shared_invite/zt-eavycu0x-WQL7XOakzQo8tAy7jHHZUw ),
2020-03-18 16:11:06 +01:00
[gitter ](https://gitter.im/bitcoin-s-core/ ) or [twitter ](https://twitter.com/Chris_Stewart_5/ )!
2021-03-05 13:10:29 +01:00
## Getting prebuilt artifacts
2020-02-26 21:09:44 +01:00
2021-03-05 13:10:29 +01:00
### Java binaries
2020-02-26 21:09:44 +01:00
2021-04-12 12:58:27 +02:00
< details >
2021-06-16 17:17:10 +02:00
2021-06-21 13:16:43 +02:00
#### Latest release
Please see the release page on github, you can find it [here ](https://github.com/bitcoin-s/bitcoin-s/releases )
#### Master builds
We build installers for mac, linux and windows everytime a PR is merged to master.
You can find the latest builds at this link:
https://github.com/bitcoin-s/bitcoin-s/actions/workflows/release.yml
Here is what the installers look like
2021-07-06 17:54:38 +02:00
![installers ](/img/doc-imgs/github-artifacts.png )
2021-03-05 13:10:29 +01:00
2021-04-12 12:58:27 +02:00
< / details >
2021-03-05 13:10:29 +01:00
### Docker
2021-04-12 12:58:27 +02:00
< details >
2021-03-05 13:10:29 +01:00
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
2019-05-15 01:05:14 +02:00
2021-03-05 13:10:29 +01:00
[bitcoin-s-server docker hub repo ](https://hub.docker.com/r/bitcoinscala/bitcoin-s-server/tags?page=1&ordering=last_updated )
2019-05-15 01:05:14 +02:00
2021-03-05 13:10:29 +01:00
[bitcoin-s-oracle-server docker hub repo ](https://hub.docker.com/r/bitcoinscala/bitcoin-s-oracle-server/tags?page=1&ordering=last_updated )
2021-04-12 12:58:27 +02:00
< / details >
2021-03-05 13:10:29 +01:00
### Library jars
2019-05-15 01:05:14 +02:00
2021-04-12 12:58:27 +02:00
< details >
2019-05-15 01:05:14 +02:00
Add this to your `build.sbt` :
```scala
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-bitcoind-rpc" % "@STABLE_VERSION@"
2019-05-31 16:59:34 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-core" % "@STABLE_VERSION@"
2020-03-18 16:11:06 +01:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-chain" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-dlc-oracle" % "@STABLE_VERSION@"
2019-05-31 16:59:34 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-eclair-rpc" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-fee-provider" % "@STABLE_VERSION@"
2020-03-18 16:11:06 +01:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-key-manager" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-lnd-rpc" % "@STABLE_VERSION@"
2020-03-18 16:11:06 +01:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-node" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-oracle-explorer-client" % "@STABLE_VERSION@"
libraryDependencies +="org.bitcoin-s" % "bitcoin-s-secp256k1jni" % "@STABLE_VERSION@"
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-testkit-core" % "@STABLE_VERSION@"
2020-03-18 16:11:06 +01:00
2019-05-31 16:59:34 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-testkit" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-wallet" % "@STABLE_VERSION@"
2019-05-31 16:59:34 +02:00
libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-zmq" % "@STABLE_VERSION@"
2021-04-12 12:58:27 +02:00
2019-05-31 16:59:34 +02:00
```
```scala mdoc:passthrough
val isUnstable = "@UNSTABLE_VERSION" != "@STABLE_VERSION@"
if (isUnstable) {
println(s"""
### Nightly builds
2019-05-15 01:05:14 +02:00
2019-05-31 16:59:34 +02:00
You can also run on the bleeding edge of Bitcoin-S, by
adding a snapshot build to your `build.sbt` . The most
recent snapshot published is `@UNSTABLE_VERSION@` .
2019-05-15 01:05:14 +02:00
2020-07-08 21:45:42 +02:00
""")
}
```
2019-06-11 14:55:59 +02:00
To fetch snapshots, you will need to add the correct
2019-05-31 16:59:34 +02:00
resolver in your `build.sbt` :
2019-05-15 01:05:14 +02:00
2020-07-08 21:45:42 +02:00
```sbt
2019-05-31 16:59:34 +02:00
resolvers += Resolver.sonatypeRepo("snapshots")
2019-05-15 01:05:14 +02:00
```
2020-03-18 16:11:06 +01:00
The official maven repo for releases is
https://repo1.maven.org/maven2/org/bitcoin-s/
The repo for snapshots, which are published after everytime something is merged to master:
https://oss.sonatype.org/content/repositories/snapshots/org/bitcoin-s/
2021-04-12 12:58:27 +02:00
< / details >
2021-03-05 13:10:29 +01:00
## Building JARs yourself
2021-02-20 12:24:04 +01:00
2021-05-08 00:55:21 +02:00
Please see [our setup docs ](getting-setup.md )
2021-02-20 12:24:04 +01:00
2021-03-05 13:10:29 +01:00
## If you want to setup Bitcoin-S locally for development
2019-05-15 01:05:14 +02:00
2021-05-08 00:55:21 +02:00
Please see [our setup docs ](getting-setup.md )