To build a CLI using nodejs with the following functionalities:
-
Creating a wallet (BIP39 Wallet) âś…
-
Importing a wallet (from BIP39 Mnemonic) âś…
-
Listing all wallets present in storage âś…
-
Getting bitcoin balance of a wallet âś…
-
Getting the list of bitcoin transactions of a wallet âś…
-
Generating an unused bitcoin address for a wallet âś…
git clone https://github.com/sahas-01/bitcoin-wallet-cli.git
cd bitcoin-wallet-cli
$ npm install -g btc-wallet
$ btc-wallet COMMAND
running command...
$ btc-wallet (--version)
btc-wallet/0.0.0 win32-x64 node-v18.18.2
$ btc-wallet --help [COMMAND]
btc-wallet hello PERSON
btc-wallet hello world
btc-wallet help [COMMANDS]
btc-wallet plugins
btc-wallet plugins:install PLUGIN...
btc-wallet plugins:inspect PLUGIN...
btc-wallet plugins:install PLUGIN...
btc-wallet plugins:link PLUGIN
btc-wallet plugins:uninstall PLUGIN...
btc-wallet plugins reset
btc-wallet plugins:uninstall PLUGIN...
btc-wallet plugins:uninstall PLUGIN...
btc-wallet plugins update
Say hello
USAGE
$ btc-wallet hello PERSON -f <value>
ARGUMENTS
PERSON Person to say hello to
FLAGS
-f, --from=<value> (required) Who is saying hello
DESCRIPTION
Say hello
EXAMPLES
$ oex hello friend --from oclif
hello friend from oclif! (./src/commands/hello/index.ts)
See code: src/commands/hello/index.ts
Say hello world
USAGE
$ btc-wallet hello world
DESCRIPTION
Say hello world
EXAMPLES
$ btc-wallet hello world
hello world! (./src/commands/hello/world.ts)
See code: src/commands/hello/world.ts
Display help for btc-wallet.
USAGE
$ btc-wallet help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for btc-wallet.
See code: @oclif/plugin-help
List installed plugins.
USAGE
$ btc-wallet plugins [--json] [--core]
FLAGS
--core Show core plugins.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List installed plugins.
EXAMPLES
$ btc-wallet plugins
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ btc-wallet plugins add plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ btc-wallet plugins add
EXAMPLES
$ btc-wallet plugins add myplugin
$ btc-wallet plugins add https://github.com/someuser/someplugin
$ btc-wallet plugins add someuser/someplugin
Displays installation properties of a plugin.
USAGE
$ btc-wallet plugins inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ btc-wallet plugins inspect myplugin
See code: @oclif/plugin-plugins
Installs a plugin into the CLI.
USAGE
$ btc-wallet plugins install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-s, --silent Silences yarn output.
-v, --verbose Show verbose yarn output.
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ btc-wallet plugins add
EXAMPLES
$ btc-wallet plugins install myplugin
$ btc-wallet plugins install https://github.com/someuser/someplugin
$ btc-wallet plugins install someuser/someplugin
See code: @oclif/plugin-plugins
Links a plugin into the CLI for development.
USAGE
$ btc-wallet plugins link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
--[no-]install Install dependencies after linking the plugin.
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ btc-wallet plugins link myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ btc-wallet plugins remove plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ btc-wallet plugins unlink
$ btc-wallet plugins remove
EXAMPLES
$ btc-wallet plugins remove myplugin
Remove all user-installed and linked plugins.
USAGE
$ btc-wallet plugins reset
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ btc-wallet plugins uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ btc-wallet plugins unlink
$ btc-wallet plugins remove
EXAMPLES
$ btc-wallet plugins uninstall myplugin
See code: @oclif/plugin-plugins
Removes a plugin from the CLI.
USAGE
$ btc-wallet plugins unlink plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ btc-wallet plugins unlink
$ btc-wallet plugins remove
EXAMPLES
$ btc-wallet plugins unlink myplugin
Update installed plugins.
USAGE
$ btc-wallet plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins
oex hello PERSON
oex hello world
oex help [COMMAND]
oex plugins
oex plugins:inspect PLUGIN...
oex plugins:install PLUGIN...
oex plugins:link PLUGIN
oex plugins:uninstall PLUGIN...
oex plugins update
Say hello
USAGE
$ oex hello [PERSON] -f <value>
ARGUMENTS
PERSON Person to say hello to
FLAGS
-f, --from=<value> (required) Who is saying hello
DESCRIPTION
Say hello
EXAMPLES
$ oex hello friend --from oclif
hello friend from oclif! (./src/commands/hello/index.ts)
See code: dist/commands/hello/index.ts
Say hello world
USAGE
$ oex hello world
DESCRIPTION
Say hello world
EXAMPLES
$ oex hello world
hello world! (./src/commands/hello/world.ts)
Display help for oex.
USAGE
$ oex help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for oex.
See code: @oclif/plugin-help
List installed plugins.
USAGE
$ oex plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ oex plugins
See code: @oclif/plugin-plugins
Displays installation properties of a plugin.
USAGE
$ oex plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ oex plugins:inspect myplugin
Installs a plugin into the CLI.
USAGE
$ oex plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ oex plugins add
EXAMPLES
$ oex plugins:install myplugin
$ oex plugins:install https://github.com/someuser/someplugin
$ oex plugins:install someuser/someplugin
Links a plugin into the CLI for development.
USAGE
$ oex plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ oex plugins:link myplugin
Removes a plugin from the CLI.
USAGE
$ oex plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ oex plugins unlink
$ oex plugins remove
Update installed plugins.
USAGE
$ oex plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.