{"repo":"RCasatta/electrsd","free":true,"listed":false,"github":"https://github.com/RCasatta/electrsd","clone":"git clone https://github.com/RCasatta/electrsd.git","description":"Utility to run a regtest electrsd process connected to a given bitcoind instance, useful in integration testing environment.","language":"Rust","stars":25,"topics":["testing","integration-testing","bitcoin","electrs"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"Electrsd Utility to run a regtest electrs process connected to a given bitcoind instance, useful in integration testing environment. Automatic binaries download In your project Cargo.toml, activate the following features Then use it: When the ELECTRSD DOWNLOAD ENDPOINT / BITCOIND DOWNLOAD ENDPOINT environment variables are set, electrsd / bitcoind will try to download the binaries from the given endpoints. When you don't use the auto-download feature you have the following options: - have electrs executable in the PATH - provide the electrs executable via the ELECTRS EXEC env var Startup options could be configured via the Conf struct using electrsD::with conf or electrsD::from downloaded with conf . 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 ELECTRSD SKIP DOWNLOAD env var and provide the electrs executable in the PATH (or skip the test execution). Issues with traditional approach I used integration testing based on external bash script launching needed external processes, there are many issues with this approach like: External script may interfere with local development environment https://github.com/rust-bitcoin/rust-bitcoincore-rpc/blob/200fc8247c1896709a673b82a89ca0da5e7aa2ce/integration test/run.sh#L9 Use of a single huge test to test everything https://github.com/rust-bitcoin/rust-bitcoincore-rpc/blob/200fc8247c18","default_branch":null,"files":null,"tree":[],"storefront":"/r/RCasatta","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/RCasatta/electrsd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}