Before you get started make sure to understand some basic facts about Nano and storing it.
Usage | Wallet Approach |
---|---|
Long-term storage | Paper or hardware wallet |
Active usage | Software wallet, backed by paper wallet |
Giving away | Paper wallet |
Regardless of what wallet you use (software or hardware), you will need to back it up with a paper wallet. Using a password manager as a paper wallet to backup your secrets provides the best mix of convenience, security, and durability.
You should be using a password manager for other reasons anyways.
Feel free to use whatever password manager you would like. KeePassXC is recommended for the following reasons:
You should generate a random password or use a passphrase.
Make multiple local and offline backups of your master password (i.e. on a piece of paper). If you use your password manager frequently enough, you will be able to memorize this password or passphrase. Otherwise, you may have to take additional steps to ensure it is durably backed up (i.e. engraved on a piece of metal).
Since it is offline, you have full control over how and where you store the encrypted password file (i.e. usb, cloud storage, etc). It is good practice to make multiple copies. Since the password file is encrypted, it is fine to store copies on cloud storage providers like google drive and dropbox. A good mix would be to have multiple local copies (usb, external drives, etc) as well as multiple remote copies on various cloud storage providers.
To generate an account, the best way to do it is generate a random seed. Software wallets will do this for you and allow for you to export the secret seed.
To generate one on your own, you can download one of the following static websites and securely generate one on your local machine. These static pages run locally on your computer and so you can disconnect your computer from the internet when using them. To be extra safe you can copy the file and use it on an "air-gapped" computer.
Note: these generators have not been audited yet
If you are comfortable with the command line, below are commands to generate a seed using cryptographically secure random number generators for each platform.
cat /dev/urandom | LC_ALL=C tr -dc 'A-F0-9' | fold -w 64 | head -n 1
echo $(cat /dev/urandom | tr -dc A-F0-9 | head -c64)
$randomBuffer = [byte[]](1..1); $seed = [char[]](1..64); -join($seed | foreach { Do {(new-object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBuffer); $randomChar = [char[]]([char]'A'..[char]'F' + [char]'0'..[char]'9')[$randomBuffer[0]]} While ($randomChar -eq $null); $randomChar })
;[...Array(64)]
.map(() =>
(function getRandomChar() {
return 'ABCDEF0123456789'[crypto.randomBytes(1)[0]] || getRandomChar()
})()
)
.join('')
;[...Array(64)]
.map(() =>
(function getRandomChar() {
return (
'ABCDEF0123456789'[window.crypto.getRandomValues(new Uint8Array(1))] ||
getRandomChar()
)
})()
)
.join('')
To receive/send transactions and change your representative you will have to import your seed or secret key into a wallet.
For a comprehensive wallet guide visit nanowallets.guide.
It is your responsibility to properly handle and secure your secret seed or key. Make sure you understand what you are doing before you give any application your secret seed or key, as you are giving them full control over that account.
Follow these best practices.