`cargo version`, which should print something like:
```
-cargo 1.45.0 (744bd1fbb 2020-06-15)
+cargo 1.53.0 (53cb7b09b 2021-06-17)
```
If you really don't want to pipe the output of `curl` into `sh`, you can also try using a
advanced users and won't be covered in this guide.
{{% notice note %}}
-At the time of writing, the project requires cargo >= 1.45.0, which is the latest stable as of
-June 2020. If you have an older version installed with rustup.rs, you can upgrade it with
-`rustup update`.
+At the time of writing, the project requires cargo >= 1.46.0, which is our minimum supported rust version (MSRV) as of July 2021. If you have an older version installed with rustup.rs, you can upgrade it with `rustup update`.
{{% /notice %}}
## Installing the `bdk-cli` tool
the GitHub repository, by running:
```bash
-cargo install --git https://github.com/bitcoindevkit/bdk-cli --features="compiler"
-# most commonly used features
+# all features
+cargo install --git https://github.com/bitcoindevkit/bdk-cli --features=esplora,compiler
+
+# minimal install
+cargo install --git https://github.com/bitcoindevkit/bdk-cli
```
-This command may take a while to finish, since it will fetch and compile all the
-dependencies and the `bdk` library itself. Once it's done, you can check if everything went fine by
-running `bdk-cli --help` which should print something like this:
+This command may take a while to finish, since it will fetch and compile all the dependencies and the `bdk` library itself.
+
+This command may take a while to finish, since it will fetch and compile all the dependencies and the `bdk` library itself.
+
+Once it's done, you can check if everything went fine by running `bdk-cli --help` which should print something like this:
```text
BDK CLI 0.2.1-dev
-n, --network <NETWORK> Sets the network [default: testnet]
SUBCOMMANDS:
- help Prints this message or the help of the given subcommand(s)
- key Key management sub-commands
- repl Enter REPL command loop mode
- wallet Wallet options and sub-commands
+ compile Compile a miniscript policy to an output descriptor
+ help Prints this message or the help of the given subcommand(s)
+ key Key management sub-commands
+ repl Enter REPL command loop mode
+ wallet Wallet options and sub-commands
+
```
-An example command to sync a testnet wallet looks like this:
+An example command to sync a testnet wallet to a default electrum server looks like this:
```bash
-bdk-cli wallet -w example --descriptor "wpkh(tprv8ZgxMBicQKsPexGYyaFwnAsCXCjmz2FaTm6LtesyyihjbQE3gRMfXqQBXKM43DvC1UgRVv1qom1qFxNMSqVAs88qx9PhgFnfGVUdiiDf6j4/0/*)" --server ssl://electrum.blockstream.info:60002 sync
+bdk-cli wallet -w example --descriptor "wpkh(tprv8ZgxMBicQKsPexGYyaFwnAsCXCjmz2FaTm6LtesyyihjbQE3gRMfXqQBXKM43DvC1UgRVv1qom1qFxNMSqVAs88qx9PhgFnfGVUdiiDf6j4/0/*)" sync
```