Cold Storage

Last updated 2 months ago

# Cold Storage

Zen-node support cold storage out of the box.

To start, install zen-node on a secure computer, run it and then create a wallet and export the public key:

# Create a new wallet
zen-cli wallet-create PASSWORD
# Backup the mnemonic phrase
zen-cli mnemonicphrase PASSWORD
# Export the zen public key to the hot-readonly machine
zen-cli exportzenpublickey

Now on the read-only machine (which connected to the internet) run:

# Replace the public key with the one you got from the secure machine
zen-cli importzenpublickey xpub6BfTT2Gufvz2h7j8kPXRNcyTio4RMNx1LAt9JN3SyQpmT8sBsnjLujXFqba97VEvNcipMpcPNp5P7bUroGdneVbCAXqSW787zHorRZ8e4K
# To retrieve your balance
zen-cli balance
# To get an address
zen-cli address

You can also get a unique address from the readonly wallet, make sure to read the payment processing page.

To send tokens from the cold storage you first have to create the raw transaction. On the readonly machine run the following:

# Create a raw transaction, a new file with the hash of the transaction will be created
# 00 is the Zen asset identifier
# 1 is the amount (one kalapa)
# Replace the address with your address
zen-cli rawtx-create 00 1 zen1q3rjsrsdmyy3lmqxg7az5yvmpffflygeguljulwu476frqlruycrq5tgw4t
# Copy the created file to the Secure machine, e.g "6f3728e7de74872bd69796dac8f9964bb08a1459960ff10c308c133dd6e2f4f4.raw"

Copy the TXHASH.raw file to the secure machine and sign the file by running:

# The raw file will get updated, now with the signatures, copy it back to the readonly machine
zen-cli rawtx-sign PASSWORD 6f3728e7de74872bd69796dac8f9964bb08a1459960ff10c308c133dd6e2f4f4.raw

Back in the readonly machine, publish the transaction:

zen-cli rawtx-publish 6f3728e7de74872bd69796dac8f9964bb08a1459960ff10c308c133dd6e2f4f4.raw