7.2 KiB
FireWallet
Experimental wallet for Handshake chain
Installation
Dependencies
You will need .net desktop installed. You can download it from here.
You will also need Node, NPM, and git installed if you want to use the internal HSD or Ledger wallets.
Git
Node
NPM
From Releases
You can install the latest release from here.
Here are some videos showing how to install and use FireWallet: Install with a running Bob wallet: https://cloud.woodburn.au/s/pS8e2oQDidrMJWx Install with internal HSD: https://cloud.woodburn.au/s/trwd8TyxbDfqaxF (You NEED to have Node, NPM, and git installed to use internal HSD)
Build from source
You can build from source by cloning this repo.
You will need Visual Studio (recommend a recent version) and .net desktop development tools installed.
Setup
Create a new wallet
You can create or import a wallet by clicking on the New
button from the login screen.
You will need to enter a password to encrypt your wallet.
This password will be used to encrypt your wallet and to login to your wallet.
At the moment exporting your Seed Phase does not work
First time setup
When you first open the wallet you will be prompted to set your node settings.
You can either connect to an existing HSD (or Bob) node or you can run your own node.
If you want to run your own node you should select the Run HSD
option.
This will take a few minutes to download and install HSD.
You can get the API key from the HSD launch command or
in Bob wallet under settings > Wallet > API key.
If you change this key in HSD or Bob you will need to update it in FireWallet.
If you need to change your Node settings you can edit the file in %appdata%\FireWallet\node.txt
Usage
Login to your wallet by entering your password (the same as the Bob password).
This password will be stored in memory until you Logout or close the wallet.
This means you will not need to enter your password again until you close the wallet.
Portfolio
The portfolio page shows your current balance.
The locked balance is the amount of HNS that is currently locked in auctions.
This also includes the amount of HNS that is locked in closed auctions (aka the spent bid).
This page shows a list of your transactions.
Clicking on a Hash will open the transaction in an explorer.
You can change the number of transactions shown in the portfolio-tx:
settings.
Sending HNS
This page lets you send HNS to Handshake addresses or domains using HIP-02.
To use HIP-02 you need to have HSD resolver (or any HNS compatible DNS resolver) listening on port 5350 (default HSD port).
To enter a domain to use HIP-02 you need to prefix the domain with @
(eg. @nathan.woodburn
).
Receiving HNS or Domains
The receive page shows your current HNS address.
This is the address you can give to people to send you HNS or domains.
This address will change every time you receive HNS or domains to prevent address reuse.
Domains
The domains page shows a list of your domains.
It also lets you search for domains.
Clicking on a domain will open the domain in the domain windows.
The domain windows shows the details of the domain.
This window also lets you auction and manage domains.
Manage Domains
You can update the records of your domains by clicking on the Edit DNS
or Edit in Batch
buttons.
This will open a window where you can edit the records of your domain.
After you have made your changes you can click the Send
button to either send the transaction to the network or to the batch window.
Batching
The batch window lets you send multiple transactions at once.
You can add transactions to the batch from the domain window or the DNS editor.
Importing
You can also import a list of domains to the batch window.
The "CANCEL" transaction type is used to cancel an transfer.
At the momemt "UPDATE" or coin only transactions are not supported.
Please not that the import syntax for BIDs is BID,LOCKUP where LOCKUP is (BID+BLIND)
Exporting
You can export the batch to a file.
This file will store the transaction type, name, and any data needed to send the transaction.
You can then import this file to send the transactions.
An example of this file can be found here.
Ledger
You can use a Ledger device to sign transactions.
You need to have Node, NPM, and git installed to use Ledger.
The Ledger components are not included in the app.
These will install when you first send HNS (not domains) from a Ledger.
Settings
FireWallet uses a few different settings files.
They are stored in %appdata%\FireWallet\
(C:\Users\{username}\AppData\Roaming\FireWallet\
)
settings.txt
This file stores the user settings for the application.
If you want to change the default HIP-02 resolver you can add these settings
hip-02-ip: 127.0.0.1
hip-02-port: 5350
node.txt
This file stores the node (HSD/Bob connection) settings.
The Network is the network you want to connect to (default is 0
for Mainnet).
If you delete this file, FireWallet will show the node setup screen on next startup.
You can set a custom HSD launch command by setting the hsd-command
key.
The default launch is the same as this
HSD-command: {default-dir} --agent=FireWallet --index-tx --index-address --api-key {key} --prefix {Bob}
The {default-dir}
will be replaced with the HSD directory %appdata%\FireWallet\hsd\
.
The {key}
will be replaced with the API key from the node.txt file.
The {Bob}
will be replaced with the Bob wallet HSD data directory %appdata%\Bob\hsd_data\
this is used to sync FireWallet with Bob's accounts and also stops you needing to sync the chain twice.
theme.txt
This file stores the theme settings.
The theme is the color scheme of the application.
The transparent-mode
key is used to enable or disable transparent modes.
There are 4 modes: off
is disabled, mica
is windows app style, key
is to make 1 colour transparent, and percent
is to set the opacity of the window.
log.txt
This file stores the logs for the application.
You should check this file if you have any issues with the application.
Support
If you have any issues with the application you can open an issue on GitHub or contact me on Discord (NathanWoodburn on most Handshake servers).
If you would like to support this project you can find out how at https://nathan.woodburn.au/#donate or you can help by contributing to the project on GitHub.