The Iron Fish Wallet CLI is a standalone process which provides account key management, transaction creation, and asset storage.
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
In order to start the standalone wallet, you must configure the process to point to a full Iron Fish 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
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>
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
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.
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
ironfishw migrations
- List all the migration statusesironfishw migrations:start
- Run migrations
ironfishw node:status
- Show the status of the full node
ironfishw rpc:status
- Show the status of the RPC layerironfishw rpc:token
- Get or set the RPC auth token
ironfishw workers:status
- Show the status of the worker pool
Ensure you are running Node 20.x.
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"