elementsd

Crates.ioelementsd
lib.rselementsd
version0.9.2
sourcesrc
created_at2021-12-01 15:39:49.655006
updated_at2024-08-19 15:23:53.517545
descriptionUtility to run a liquidregtest elements process, useful in integration testing environment
homepage
repositoryhttps://github.com/RCasatta/elementsd
max_upload_size
id490318
size26,571
(LeoComandini)

documentation

https://docs.rs/elementsd/

README

MIT license Crates

ElementsD

Utility to run a liquidregtest elementsd process, useful in integration testing environment.

use elementsd::bitcoincore_rpc::RpcApi;
let exe = elementsd::exe_path().expect("elementsd executable must be provided in ELEMENTSD_EXE, or with a feature like '0_21_0', or be in PATH");
let elementsd = elementsd::ElementsD::new(exe).unwrap();
let info = elementsd
    .client()
    .call::<bitcoind::bitcoincore_rpc::jsonrpc::serde_json::Value>("getblockchaininfo", &[])
    .unwrap();
assert_eq!(info.get("chain").unwrap(), "liquidregtest");

Validate pegin

You can also start elementsd with validate pegin capability by connecting an instance of bitcoind. See test test_elementsd_with_validatepegin

See the similar BitcoinD for details

Nix

For determinisim, in nix you cannot hit the internet within the build.rs. Moreover, some downstream crates cannot remove the auto-download feature from their dev-deps. In this case you can set the ELEMENTSD_SKIP_DOWNLOAD env var and provide the elementsd executable in the PATH (or skip the test execution).

Doc

To build docs:

RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --features download,doc --open

MSRV

  • 1.57.0 with one of the auto download features
  • 1.56.1 without features

MSRV 1.56.1 may require downgrading dependencies. See our .github/workflows/test.yml file for a complete list.

Commit count: 37

cargo fmt