-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use bitcoin-kmp through bitcoin-lib #2038
Conversation
e19d79a
to
f8b19c2
Compare
4d82148
to
e9f9f22
Compare
e9f9f22
to
539c7e5
Compare
751d533
to
d0e642d
Compare
05a77e1
to
225da64
Compare
260aa5b
to
f364d38
Compare
f364d38
to
4464318
Compare
6d597f2
to
9f6e050
Compare
9f6e050
to
cc3df51
Compare
5d8359d
to
e4c4ba3
Compare
e4c4ba3
to
22af2d3
Compare
1b370ad
to
bdf319d
Compare
bdf319d
to
d447fd2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a quick first pass, I need to play around more with the code
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApi.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApi.scala
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BitcoinCoreClient.scala
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalChannelKeyManager.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/transactions/Scripts.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/wire/internal/channel/version0/ChannelCodecs0.scala
Show resolved
Hide resolved
d447fd2
to
8f77e01
Compare
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BitcoinCoreClient.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BitcoinCoreClient.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApi.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/watchdogs/HeadersOverDns.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/crypto/keymanager/LocalChannelKeyManager.scala
Outdated
Show resolved
Hide resolved
eclair-core/src/main/scala/fr/acinq/eclair/blockchain/watchdogs/ExplorerApi.scala
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not seeing anything weird after playing with this version on regtest, and the minimal code changes look good to me.
24d8afc
to
5de05d5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 5de05d5
5de05d5
to
9bdb20d
Compare
9bdb20d
to
dfec632
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just put this blocker upstream: ACINQ/bitcoin-lib#63 (review)
dfec632
to
3b701d5
Compare
We now use bitcoin-kmp 0.21-KMP, bitcoin-kmp 0.8.3 and secp256k1-kmp 0.6.3 (which includes JNI bindings for Linux Arm64). |
0665457
to
ec1d167
Compare
ec1d167
to
13745c1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one nit
...-core/src/main/scala/fr/acinq/eclair/blockchain/bitcoind/rpc/BasicBitcoinJsonRPCClient.scala
Outdated
Show resolved
Hide resolved
We use a version of bitcoin-lib that uses bitcon-kmp under the hood. Its API is the same as before, but its package is now fr.acinq.bitcoin.scalacompat
13745c1
to
7583eaa
Compare
We use a version of bitcoin-lib that uses bitcoin-kmp under the hood (see ACINQ/bitcoin-lib#63)
Its API is the same as before, but its package is now fr.acinq.bitcoinscala.
This is an alternative to #1949 that is much less invasive and will allow us to mix
eclair
andlightning-kmp
.There is a significant breaking change in bitcoin-lib: we only support OSes that are compatible with secp256k1-kmp (i.e we don't fallback to bouncycastle anymore if it cannot be loaded). In practice it means that
eclair
won't run on some 32 bits OSes and possibly some linux distros.The version of bitcoin-lib that is used here is 0.20-KMP-SNAPSHOT, which is published to https://oss.sonatype.org/content/repositories/snapshots/. This is why this is a draft PR. If it is accepted I'll publish a new bitcoin-lib release to maven central and update this PR.
EDIT: this PR is now based on bitcoin-lib 0.22 which is available on maven central, supports Linux Arm64 (through bitcoin-kmp 0.8.3) and can be merged as-is.