the GitHub repository, by running:
```bash
-cargo install --git https://github.com/bitcoindevkit/bdk-cli --features=esplora
+cargo install --git https://github.com/bitcoindevkit/bdk-cli --features=esplora,compiler,electrum,repl
+# most commonly used features
```
This command may take a while to finish, since it will fetch and compile all the
running `bdk-cli --help` which should print something like this:
```text
-BDK CLI 0.1.0
-Alekos Filini <alekos.filini@gmail.com>:Riccardo Casatta <riccardo@casatta.it>
-A modern, lightweight, descriptor-based wallet
+BDK CLI 0.2.1-dev
+Alekos Filini <alekos.filini@gmail.com>:Riccardo Casatta <riccardo@casatta.it>:Steve Myers <steve@notmandatory.org>
+Top level options and command modes
USAGE:
- bdk-cli [OPTIONS] --descriptor <DESCRIPTOR> <SUBCOMMAND>
+ bdk-cli [OPTIONS] <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
- -c, --change_descriptor <CHANGE_DESCRIPTOR> Sets the descriptor to use for internal addresses
- -d, --descriptor <DESCRIPTOR> Sets the descriptor to use for the external addresses
- --esplora_concurrency <ESPLORA_CONCURRENCY> Concurrency of requests made to the esplora server [default: 4]
- -e, --esplora <ESPLORA_URL> Use the esplora server if given as parameter
- -n, --network <NETWORK> Sets the network [default: testnet]
- -p, --proxy <PROXY_SERVER:PORT> Sets the SOCKS5 proxy for the Electrum client
- -s, --server <SERVER:PORT>
- Sets the Electrum server to use [default: ssl://electrum.blockstream.info:60002]
-
- -w, --wallet <WALLET_NAME> Selects the wallet to use [default: main]
+ -n, --network <NETWORK> Sets the network [default: testnet]
SUBCOMMANDS:
- broadcast Broadcasts a transaction to the network. Takes either a raw transaction or a PSBT to
- extract
- bump_fee Bumps the fees of an RBF transaction
- combine_psbt Combines multiple PSBTs into one
- create_tx Creates a new unsigned transaction
- extract_psbt Extracts a raw transaction from a PSBT
- finalize_psbt Finalizes a PSBT
- get_balance Returns the current wallet balance
- get_new_address Generates a new external address
- help Prints this message or the help of the given subcommand(s)
- list_transactions Lists all the incoming and outgoing transactions of the wallet
- list_unspent Lists the available spendable UTXOs
- policies Returns the available spending policies for the descriptor
- public_descriptor Returns the public version of the wallet's descriptor(s)
- repl Enter REPL command loop mode
- sign Signs and tries to finalize a PSBT
- sync Syncs with the chosen blockchain server
+ 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:
-```
-bdk-cli --descriptor "wpkh(tprv8ZgxMBicQKsPexGYyaFwnAsCXCjmz2FaTm6LtesyyihjbQE3gRMfXqQBXKM43DvC1UgRVv1qom1qFxNMSqVAs88qx9PhgFnfGVUdiiDf6j4/0/*)" --network testnet --server ssl://electrum.blockstream.info:60002 sync
+```bash
+bdk-cli wallet -w bdk0rigins --descriptor "wpkh(tprv8ZgxMBicQKsPexGYyaFwnAsCXCjmz2FaTm6LtesyyihjbQE3gRMfXqQBXKM43DvC1UgRVv1qom1qFxNMSqVAs88qx9PhgFnfGVUdiiDf6j4/0/*)" --server ssl://electrum.blockstream.info:60002 sync
```
\ No newline at end of file