Bitcoin Implementation in Scala
Go to file
Nadav Kohen 7fd9aca304 Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885)
* Replaced secp256k1 with secp256k1-zkp as submodule pointing to my java-bindings branch

* Built new binaries for schnorr signing and adaptor signing and integrated into LibSecp256k1CryptoRuntime

* Added public key compression function with tests, removed old adaptor signature point serializers

* Implemented ECDSA adaptor signatures in scala according to the most recent spec

* Added static test vectors for adaptor signing from spec

* Moved bouncy castle adaptor signing tests to .jvm

* Added scaladocs and responded to nits

* Added scaladocs with legends to spec naming

* Responded to Ben's review

* Fixed scala 2.12 compile issue

* Fixed BouncyCastle secKeyVerify

* Updated add-to-jni build instructions

* Updated secp256k1-zkp to target bitcoin-s-master

* Add windows binary (#14)

* Added Mac OS binaries

Co-authored-by: benthecarman <benthecarman@live.com>
2021-04-21 09:42:43 -05:00
.github 2021 04 17 spendinfodb invariant (#2912) 2021-04-18 09:02:49 -05:00
app Use filters for bitcoind backend syncing if available (#2926) 2021-04-20 17:28:23 -05:00
app-commons 2021 04 19 Zip Bitcoin-s datadir (#2927) 2021-04-20 10:30:15 -05:00
app-commons-test/src/test/scala/org/bitcoins/commons Add testkit-core module (#2726) 2021-03-02 07:05:21 -06:00
async-utils/src/main/scala/org/bitcoins/asyncutil 2021 04 19 Cleanup after ourselves in postgres tests (#2921) 2021-04-19 13:58:00 -05:00
async-utils-test/src/test/scala/org/bitcoins/asyncutil Move tests out of bitcoindRpcTest that belong in async-utils (#2796) 2021-03-16 07:48:06 -05:00
bench Update scalafmt (#2619) 2021-02-03 16:37:12 -06:00
bitcoin-s-docs Fix build warnings that came with sbt 1.5.0 (#2857) 2021-04-06 06:01:11 -05:00
bitcoind-rpc Fix ZMQ Config with bitcoind backend (#2897) 2021-04-13 14:56:28 -05:00
bitcoind-rpc-test Add docs for using CachedBitcoind (#2880) 2021-04-09 09:43:22 -05:00
chain Remove logging from core (#2810) 2021-03-21 19:11:55 -05:00
chain-test/src/test Add testkit-core module (#2726) 2021-03-02 07:05:21 -06:00
core Implement workaround for spendinginfodb by rescanning to find missing spendingTxId (#2918) 2021-04-20 06:41:11 -05:00
core-test Fix conversion from sats/vb to sats/kw (#2895) 2021-04-12 19:50:18 -05:00
crypto Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
crypto-test Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
db-commons Bump hikari logging interval to 10 minutes (#2888) 2021-04-10 13:51:31 -05:00
db-commons-test/src/test/scala/org/bitcoins/db Move blockhash to tx table from spending info table (#2744) 2021-03-16 10:05:29 -05:00
dlc-oracle/src/main Implement BIP32Path.fromHardenedString(). (#2886) 2021-04-09 13:19:11 -05:00
dlc-oracle-test/src/test/scala/org/bitcoins/dlc/oracle Add ability to delete Oracle signatures (#2851) 2021-04-02 13:55:47 -05:00
docs Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
eclair-rpc Inital LND rpc with some tests (#2836) 2021-04-05 04:52:56 -05:00
eclair-rpc-test 2021 02 25 async utils (#2725) 2021-02-25 13:26:38 -06:00
fee-provider/src/main/scala/org/bitcoins/feeprovider 2020 12 18 enable lint options (#2454) 2021-01-03 08:01:26 -06:00
fee-provider-test/src/test/scala/org/bitcoins/feeprovider
key-manager Get all of Core working with JS (#2826) 2021-03-31 15:04:30 -05:00
key-manager-test/src/test/scala/org/bitcoins/keymanager Add testkit-core module (#2726) 2021-03-02 07:05:21 -06:00
lnd-rpc Fix lnd build warning (#2899) 2021-04-13 09:47:12 -05:00
lnd-rpc-test/src/test/scala/org/bitcoins/lnd/rpc Add sendouputs function to lnd rpc (#2858) 2021-04-05 13:56:21 -05:00
node Wallet Rebroadcast Transactions thread (#2711) 2021-04-07 08:13:43 -05:00
node-test/src/test/scala/org/bitcoins/node Implement caching of bitcoind in the walletTest,nodeTest, and partially bitcoindRpcTest project (#2792) 2021-03-19 06:37:53 -05:00
oracle-explorer-client/src 2021 04 07 issue 2875 (#2879) 2021-04-08 10:15:56 -05:00
project Update sbt-mdoc to 2.2.20 (#2930) 2021-04-20 18:35:15 -05:00
release-notes 2021 04 07 first 0.6 release notes (#2872) 2021-04-08 10:22:30 -05:00
secp256k1-zkp@6dd724b72b Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
secp256k1jni Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
testkit Reduce number of threads in postgres connection pool for tests (#2931) 2021-04-20 12:47:28 -05:00
testkit-core Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
wallet 2021 04 18 Reset txo state when overwriting spendingTxId (#2919) 2021-04-21 07:21:42 -05:00
wallet-test/src/test Add test for tx that doesn't originate from wallet (#2932) 2021-04-20 18:34:38 -05:00
website Lnd rpc docs (#2896) 2021-04-12 19:09:59 -05:00
zmq Inital LND rpc with some tests (#2836) 2021-04-05 04:52:56 -05:00
.dockerignore
.gitignore Update gitignore file with recommendations from unidoc (#2845) 2021-04-01 10:00:05 -05:00
.gitmodules Add Schnorr and Adaptor Secp Bindings and Update Adaptor (#2885) 2021-04-21 09:42:43 -05:00
.jvmopts Update all deps that failed because of bad build (#2774) 2021-03-10 06:48:21 -06:00
.scalafmt.conf Update scalafmt (#2619) 2021-02-03 16:37:12 -06:00
build.sbt 2021 04 19 Cleanup after ourselves in postgres tests (#2921) 2021-04-19 13:58:00 -05:00
CONTRIBUTING.md
docker-compose.yml
Dockerfile
inThisBuild.sbt Fix build warnings that came with sbt 1.5.0 (#2857) 2021-04-06 06:01:11 -05:00
LICENSE Update LICENSE year (#2474) 2021-01-06 06:41:18 -06:00
README.md 2021 02 19 dockerhub docs (#2693) 2021-02-20 05:24:04 -06:00
try-bitcoin-s.sh

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-started

Adding bitcoin-s to your library

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

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

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

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-crypto" % "0.5.0"

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

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-dlc-oracle" % "0.5.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-db-commons" % "0.5.0"

libraryDependencies += "org.bitcoin-s" %% "bitcoin-s-fee-provider" % "0.5.0"

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

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

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

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

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

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

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

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

bitcoin-s docker hub repo

oracle-server docker hub repo