Setting up a Zallet wallet
WARNING: This process is currently unstable, very manual, and subject to change as we make Zallet easier to use.
Create a config file
Zallet by default uses $HOME/.zallet
as its data directory. You can override
this with the -d/--datadir
flag.
Once you have picked a datadir for Zallet, create a zallet.toml
file in it.
You currently need at least the following:
[builder.limits]
[consensus]
network = "main"
[database]
[external]
[features]
as_of_version = "0.0.0"
[features.deprecated]
[features.experimental]
[indexer]
validator_user = ".."
validator_password = ".."
[keystore]
[note_management]
[rpc]
bind = ["127.0.0.1:SOMEPORT"]
In particular, you currently need to configure the [indexer]
section to point
at your full node's JSON-RPC endpoint. The relevant config options in that
section are:
validator_address
(if not running on localhost at the default port)validator_cookie_auth = true
andvalidator_cookie_path
(if using cookie auth)validator_user
andvalidator_password
(if using basic auth)
If you have an existing zcash.conf
, you can use it as a starting point:
$ zallet migrate-zcash-conf --datadir /path/to/zcashd/datadir -o /path/to/zallet/datadir/zallet.toml
Initialize the wallet encryption
Zallet uses age encryption to encrypt all key
material internally. Currently you can use two kinds of age identities, which
you can generate with rage
:
-
A plain identity file directly on disk:
$ rage-keygen -o /path/to/zallet/datadir/encryption-identity.txt Public key: age1...
-
A passphrase-encrypted identity file:
$ rage -p -o /path/to/zallet/datadir/encryption-identity.txt <(rage-keygen) Public key: age1... Using an autogenerated passphrase: drip-lecture-engine-wood-play-business-blame-kitchen-month-combine
(age plugins will also be supported but currently are tricky to set up.)
Once you have created your identity file, initialize your Zallet wallet:
$ zallet -d /path/to/zallet/datadir init-wallet-encryption
Generate a mnemonic phrase
$ zallet -d /path/to/zallet/datadir generate-mnemonic
Each time you run this, a new BIP 39 mnemonic will be added to the wallet. Be careful to only run it multiple times if you want multiple independent roots of spend authority!
Start Zallet
$ zallet -d /path/to/zallet/datadir start