bch-cli-wallet
v1.5.0
Published
A command line wallet for Bitcoin Cash, built with BITBOX
Downloads
6
Readme
bch-cli-wallet
This is an npm library and Bitcoin Cash (BCH) wallet that runs on the command line. Add this library to your app to instantly give it the ability to transact on the BCH network!
This project has the following goals:
- Create a code base for a wallet that is easily forkable and extensible by JavaScript developers.
- Explore the potential for bounty-tagged development
If you want a wallet with a graphical user interface, check out Badger Wallet. BCH functionality is implemented in both wallets with BITBOX, and the command line interface for this project is built with oclif.
Also, be sure to check out the design decisions and trade-offs that went into the creation of this project in the docs directory
NPM Usage
The npm library can be included in your own app to instantly give it the ability to send and receive BCH transactions. Here is an example of how to include it in your own app. This example will generate a new HD wallet.
// Instantiate the Create Wallet class from this library.
const CreateWallet = require('bch-cli-wallet/src/commands/create-wallet')
const createWallet = new CreateWallet()
const walletFile = './wallet.json'
async function makeNewWallet() {
const wallet = await createWallet.createWallet(walletFile)
console.log(`wallet: ${JSON.stringify(wallet,null,2)}`)
}
makeNewWallet()
Command Line Usage
$ npm install -g bch-cli-wallet
$ bch-cli-wallet COMMAND
running command...
$ bch-cli-wallet (-v|--version|version)
bch-cli-wallet/1.5.0 linux-x64 node-v10.16.3
$ bch-cli-wallet --help [COMMAND]
USAGE
$ bch-cli-wallet COMMAND
...
Commands
bch-cli-wallet create-wallet
bch-cli-wallet get-address
bch-cli-wallet get-key
bch-cli-wallet hello
bch-cli-wallet help [COMMAND]
bch-cli-wallet list-wallets
bch-cli-wallet remove-wallet
bch-cli-wallet send
bch-cli-wallet send-all
bch-cli-wallet sweep
bch-cli-wallet update-balances
bch-cli-wallet create-wallet
Generate a new HD Wallet.
USAGE
$ bch-cli-wallet create-wallet
OPTIONS
-n, --name=name Name of wallet
-t, --testnet Create a testnet wallet
See code: src/commands/create-wallet.js
bch-cli-wallet get-address
Generate a new address to recieve BCH.
USAGE
$ bch-cli-wallet get-address
OPTIONS
-n, --name=name Name of wallet
See code: src/commands/get-address.js
bch-cli-wallet get-key
Generate a new private/public key pair.
USAGE
$ bch-cli-wallet get-key
OPTIONS
-n, --name=name Name of wallet
See code: src/commands/get-key.js
bch-cli-wallet hello
Example command from oclif
USAGE
$ bch-cli-wallet hello
OPTIONS
-n, --name=name name to print
DESCRIPTION
...
Leaving it here for future reference in development.
See code: src/commands/hello.js
bch-cli-wallet help [COMMAND]
display help for bch-cli-wallet
USAGE
$ bch-cli-wallet help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
bch-cli-wallet list-wallets
List existing wallets.
USAGE
$ bch-cli-wallet list-wallets
See code: src/commands/list-wallets.js
bch-cli-wallet remove-wallet
Remove an existing wallet.
USAGE
$ bch-cli-wallet remove-wallet
OPTIONS
-n, --name=name Name of wallet
See code: src/commands/remove-wallet.js
bch-cli-wallet send
Send an amount of BCH
USAGE
$ bch-cli-wallet send
OPTIONS
-a, --sendAddr=sendAddr Cash address to send to
-b, --bch=bch Quantity in BCH
-n, --name=name Name of wallet
See code: src/commands/send.js
bch-cli-wallet send-all
Send all BCH in a wallet to another address. Degrades Privacy
USAGE
$ bch-cli-wallet send-all
OPTIONS
-a, --sendAddr=sendAddr Cash address to send to
-n, --name=name Name of wallet
DESCRIPTION
Send all BCH in a wallet to another address. **Degrades Privacy**
This method has a negative impact on privacy by linking all addresses in a
wallet. If privacy of a concern, CoinJoin should be used.
This is a good article describing the privacy concerns:
https://bit.ly/2TnhdVc
See code: src/commands/send-all.js
bch-cli-wallet sweep
Sweep a private key
USAGE
$ bch-cli-wallet sweep
OPTIONS
-a, --address=address Address to sweep funds to.
-b, --balanceOnly Balance only, no claim.
-t, --testnet Testnet
-w, --wif=wif WIF private key
DESCRIPTION
...
Sweeps a private key in WIF format.
See code: src/commands/sweep.js
bch-cli-wallet update-balances
Poll the network and update the balances of the wallet.
USAGE
$ bch-cli-wallet update-balances
OPTIONS
-n, --name=name Name of wallet
See code: src/commands/update-balances.js