-
Notifications
You must be signed in to change notification settings - Fork 39
Import electrsd
#403
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
base: master
Are you sure you want to change the base?
Import electrsd
#403
Conversation
|
Needs concept ACK from @RCasatta please. |
The `corepc` repo is for all things integration testing. Also it provides `bitreq` (HTTP crate), and `corepc-types` (Bitcoin Core JSONRPC types). When integration testing some users (eg `bdk`) use `electrsd` along side `corepc-node` (formerly `bitcoind`). `electrsd` depends on `corepc-node` and every time we release `corepc-node` we have to do a release of `electrsd`. Having them in separate repositories causes friction and makes additional work. Instead we can put them together to hopefully make everyone's life easier (well mine and Ricardo's anyway). Note that `bitcoind` was written by Ricardo. I re-named it, a move I'm now regretting because of the original symmetry with `electrsd`. This import has the blessing of Ricardo and needs an explicit ACK from him before merging. When the CODEOWNERS file is added (rust-bitcoin#396) it should include him as owner of this crate. Import the `electrsd` crate from https://github.com/RCasatta/electrsd/ While HEAD is at commit hash: dc88d81520c9ec507fc830b88a3b92a034dbaf93 `dc88d81: bump version 0.36.0 -> 0.36.1`
During import of `electrsd` I just clobbered all CI. Add `electrsd` to the CI infrastructure in this repo. Use `extra_tests.sh` to mirror the behaviour in the original repo _excluding_ the no-download test. Skipping the no-download test because I'm too lazy to set it up, we don't test no-download in `corepc-node` either.
ce55418 to
9f56e72
Compare
Fix and run the `update-lock-files.sh` script to correctly handle all the crates in this repo. Notes: - `electrsd` needs some features - The rest can be built with `cargo check` (I'm not 100% sure on the validity of these notes.)
bbc6fb8 to
b7612eb
Compare
|
The problem here is the |
| useful in integration testing environment. | ||
|
|
||
| ```rust | ||
| let bitcoind = bitcoind::BitcoinD::new("/usr/local/bin/bitcoind").unwrap(); |
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.
should use corepc node in this example
|
concept ACK about the |
tnull
left a comment
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.
Concept ACK.
| electrs_0_9_11 = ["download"] | ||
| electrs_0_10_6 = ["download"] | ||
|
|
||
| corepc-node_29_0 = ["corepc-node/download", "corepc-node/29_0"] |
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.
Would be cool to eventually allow decoupling the setting-corepc-feature part and the download part here. In LDK/LDK Node CI, we download bitcoind/electrs binaries with system utils out-of-bounds, and hence have this:
electrsd = { version = "0.36.0", default-features = false, features = ["legacy"] }
corepc-node = { version = "0.10.0", default-features = false, features = ["28_0"] }I.e., we always also have to specify the corepc-node dependency and have to keep the version number in-sync with the version used by electrsd.
The
corepcrepo is for all things integration testing. Also it providesbitreq(HTTP crate), andcorepc-types(Bitcoin Core JSONRPC types).When integration testing some users (eg
bdk) useelectrsdalong sidecorepc-node(formerlybitcoind).electrsddepends oncorepc-nodeand every time we releasecorepc-nodewe have to do a release ofelectrsd. Having them in separate repositories causes friction and makes additional work. Instead we can put them together to hopefully make everyone's life easier (well mine and Ricardo's anyway).Note that
bitcoindwas written by Ricardo. I re-named it, a move I'm now regretting because of the original symmetry withelectrsd.This import has the blessing of Ricardo and needs an explicit ACK from him before merging. When the CODEOWNERS file is added (#396) it should include him as owner of this crate.
Import the
electrsdcrate from https://github.com/RCasatta/electrsd/While HEAD is at commit hash: dc88d81520c9ec507fc830b88a3b92a034dbaf93
Discussed in: RCasatta/electrsd#113