This is the frontend Vue.js application for the Avalanche (AVAX) Wallet.
- Yarn (https://classic.yarnpkg.com/en/docs/install/)
- Recent version of npm (6.13.4)
- Node v12.14.1
- Gecko, Avalanche client in Golang (https://github.com/ava-labs/gecko)
- Clone the repo
git clone https://github.com/ava-labs/avalanche-wallet.git
- Go to root of the project
cd avalanche-wallet
- Install javascript dependencies with
yarn install
.
In order for the wallet to work, it needs the Avalanche network to operate on. By default the wallet will connect to the Avalanche test network.
- If you want to connect to a local network, make sure you have installed and able to run a Gecko node properly.
- Run the project with hot reloading
yarn serve
When you go to the website on your browser, you might get a warning saying "Site is not secure". This is because we are signing our own SSL Certificates. Please ignore and continue to the website.
- Compile and minify to have a production ready application with
yarn build
. - Serve from the
/dist
directory.
By default the wallet will connect to the Avalanche test network. You can change to another network by clicking the button labeled TestNet
on the navigation bar and selecting another network, or add a custom network.
The wallet uses the Avalanche Explorer API to display wallet transaction history.
WARNING: This history might be out of order and incomplete.
We suggest using Google Chrome to view the Avalanche Wallet website.
Firefox does not allow https requests to localhost. But the Avalanche Wallet uses https by default, so we will need to change this to http. Make this switch by editing the vue.config.js
file in the root directory and change
devServer: {
https: true
},
to
devServer: {
https: false
},
and run yarn serve
to reflect the change.
interface IKeystoreFile{
salt
pass_hash
keys: [
{
key,
nonce,
address
}
]
}
interface IKeystoreFile{
version
salt
pass_hash
warnings
keys: [
{
key
iv
address
}
]
}
Underlying encryption changed.
interface IKeystoreFile{
version
salt
pass_hash
warnings
keys: [
{
key
iv
address
}
]
}
Avalanche uses bech32 addresses. Removed address field from keys and the warning message.
interface IKeystoreFile{
version
salt
pass_hash
keys: [
{
key
iv
}
]
}
Encodes mnemonic phrase as the key.
interface IKeystoreFile{
version
salt
pass_hash
keys: [
{
key
iv
}
]
}
Basically same as storing the keystore file in the browser localstorage.
If there is a remembered wallet it will be the Keystore JSON format.
{
"w": IKeystoreFile | undefined
}
Saved into local storage as a 2 letter code.
"lang": "en"
Avalanche Node (https://github.com/ava-labs/avalanchego)
To get utxos and to send transactions.
Explorer API Node (https://github.com/ava-labs/ortelius)
To check if an address was used before, and to get activity history.
The wallet needs to connect to an Avalanche node, and an explorer node to operate properly.
By default, there are two network options to connect to: Mainnet
and Fuji
.
- Avalanche API:
https://api.avax.network:443
- Explorer API:
https://explorerapi.avax.network
- Avalanche API:
https://api.avax-test.network:443
- Explorer API:
https://explorerapi.avax-test.network