The Zen-node supports cold storage out of the box.
To start, install the zen-node on a secure computer, run it and then create a wallet and export the public key:
# Create a new walletzen-cli wallet-create PASSWORD# Backup the mnemonic phrasezen-cli mnemonicphrase PASSWORD# Export the zen public key to the hot-readonly machinezen-cli exportzenpublickey
Now on the read-only machine (which is connected to the internet) run:
# Replace the public key with the one you got from the secure machinezen-cli importzenpublickey xpub6BfTT2Gufvz2h7j8kPXRNcyTio4RMNx1LAt9JN3SyQpmT8sBsnjLujXFqba97VEvNcipMpcPNp5P7bUroGdneVbCAXqSW787zHorRZ8e4K# To retrieve your balancezen-cli balance# To get an addresszen-cli address
You can also generate unique addresses from the read-only wallet, to do so make sure to read the payment processing page.
To send assets from the cold storage you first have to create the raw transaction. On the read-only 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 addresszen-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 machinezen-cli rawtx-sign PASSWORD 6f3728e7de74872bd69796dac8f9964bb08a1459960ff10c308c133dd6e2f4f4.raw
Back in the read-only machine, publish the transaction:
zen-cli rawtx-publish 6f3728e7de74872bd69796dac8f9964bb08a1459960ff10c308c133dd6e2f4f4.raw