In a cold storage transaction, the mobile account does not have the secret key needed for spending. However, it is able to build an unsigned transaction and export it as a file.
The account owner moves the file to another computer that holds the secret key (preferably offline and air-gapped for security).
On the offline computer, he signs the transaction and generate a now valid transaction that he saves to another file.
After importing the later into the Y/ZWallet, the transaction is finalized and broadcast.
This workflow ensures that the secret key never leave the computer that is isolated from the Internet.
The same concept is applicable to Zcash.
If the account does not have a secret key either because it was restored from viewing key or because it was converted to Cold Storage, the button Send is dimmed. Instead of signing and broadcasting a transaction, the Send page prepares an unsigned transaction.
Depending on your phone OS, you can save the unsigned transaction to a USB key, or to the Cloud.
The transaction file must be copied to the computer that has the
You can build the
sign app from its source code
To run the
sign app, you need to create an
.env file that has a line
KEY="<seed or secret-key>"
KEY="human tissue pony dose host stamp tag hockey begin wisdom humble divorce goose grief analyst hard axis fiscal flat cloud huge pair sunset into"
Then run the signer as follows:
sign <unsigned filename> <signed filename>
sign tx.json tx.raw
tx.raw back to a USB drive (or Cloud storage)
- Select “Broadcast” from the app menu
- Pick up the raw transaction file from the storage
- Wait for the transaction id
- USB drive is safer than Cloud storage but in any case, the files do not contain any information that could be used to reveal your secret key