ironfish-wallet
v2.4.0
Published
CLI for running a standalone wallet
Downloads
28
Readme
ironfish-wallet
The Iron Fish Wallet CLI is a standalone process which provides account key management, transaction creation, and asset storage.
Installation
The Iron Fish Standalone Wallet can be installed via NPM:
$ npm i -g ironfish-wallet
Refer to the Commands section for usage details, or run:
$ ironfishw --help
Setup
In order to start the standalone wallet, you must configure the process to point to a full Iron Fish Node.
Connecting a Standalone Wallet to a Remote Node
# Enable TCP connection to the full node
$ ironfishw config:set walletNodeTcpEnabled true
# Set the TCP host of the full node
$ ironfishw config:set walletNodeTcpHost <node-host>
# Set the TCP port of the full node
$ ironfishw config:set walletNodeTcpPort <node-port>
# (Optional) If the full node has TLS enabled, set the RPC authentication token
$ ironfishw config:set walletNodeRpcAuthToken <auth-token>
# After the above commands are run, you can start the wallet
$ ironfishw start
Alternatively, you can pass (or override the existing configuration) via CLI flags:
$ ironfishw start --node.tcp --node.tcp.host=<node-tcp-host> --node.tcp.port=<node-tcp-port>
If TLS is set:
$ ironfishw start --node.tcp --node.tcp.host=<node-tcp-host> --node.tcp.port=<node-tcp-port> --node.tcp.tls --node.auth=taqueriaramirez
Connecting a Standalone Wallet to a Local Node
If you have a local node running and wish to connect via IPC:
# Enable IPC connection to the full node
$ ironfishw config:set walletNodeIpcEnabled true
# Set the IPC path of the full node
$ ironfishw config:set walletNodeIpcPath <full-node-ipc-path>
# After the above commands are run, you can start the wallet
$ ironfishw start
Alternatively, you can pass (or override the existing configuration) via CLI flags:
$ ironfishw start --node.ipc --node.ipc.path=<full-node-ipc-path>
Commands
The ironfish-wallet
CLI has several commands to manage an Iron Fish wallet.
Appending --help
to each command will provide help. For example:
$ ironfishw accounts --help
Wallet
ironfishw accounts
- List all the accounts on the nodeironfishw address
- Display your account addressironfishw assets
- Display the wallet's assetsironfishw balance
- Display the account balanceironfishw balances
- Display the account's balances for all assetsironfishw browse
- Browse to your data directoryironfishw burn
- Burn tokens and decrease supply for a given assetironfishw config
- Print out the entire configironfishw create
- Create a new account for sending and receiving coinsironfishw delete
- Permanently delete an accountironfishw export
- Export an accountironfishw faucet
- Receive coins from the Iron Fish official testnet Faucetironfishw help
- Display help for ironfishw.ironfishw import
- Import an accountironfishw migrations
- List all the migration statusesironfishw mint
- Mint tokens and increase supply for a given assetironfishw notes
- Display the account notesironfishw post
- Post a raw transactionironfishw prune
- Removes expired transactions from the walletironfishw rename
- Change the name of an accountironfishw repl
- An interactive terminal to the nodeironfishw rescan
- Rescan the blockchain for transactionsironfishw send
- Send coins to another accountironfishw start
- Start the wallet nodeironfishw status
- Get status of an accountironfishw stop
- Stop the wallet nodeironfishw transaction
- Display an account transactionironfishw transactions
- Display the account transactionsironfishw use
- Change the default account used by all commandsironfishw which
- Show the account currently used.
Configuration
ironfishw config
- Print out the entire configironfishw config:edit
- Edit the config in your configured editorironfishw config:get
- Print out one config valueironfishw config:set
- Set a value in the configironfishw config:unset
- Unset a value in the config and fall back to default
Migrations
ironfishw migrations
- List all the migration statusesironfishw migrations:start
- Run migrations
Node
ironfishw node:status
- Show the status of the full node
RPC
ironfishw rpc:status
- Show the status of the RPC layerironfishw rpc:token
- Get or set the RPC auth token
Workers
ironfishw workers:status
- Show the status of the worker pool
Development
Ensure you are running Node 20.x.
Local Node Changes
If you need to test changes simulatenously to both the ironfish
SDK and this standalone wallet code base. In that case, you can link the wallet to the local instance of the ironfish
SDK using the following steps:
In the ironfish
repository:
# Build all packages
$ yarn build
# Navigate to the SDK directory
$ cd ironfish
# Link the SDK package
$ yarn link
After that, in this standalone wallet repository:
$ yarn link "@ironfish/sdk"