Cold wallet without running full node (Almost cold wallet) - solved

the idea with qubes is… we can use “disposable vm” domain. which is deletes all the vm data after use, but i still can’t figure out how to correctly install chia in that disposable vm,

actually even without use of disposable vm, normal qubes domain vm all data stored in the domain is safe since it use hard drive encryption, also, only dom0 and 1 port to communicate with the node can access it. in addition this communication port can be dissabled by removing all data access from the domain vm. that’s makes all domain data in the lvm is dormant.

if you want to give it a try i suggest using othe than your main pc, try to understand how to operate the qubes os.
think for your use case it’s the best.

the logic with normal vm is this. normal OS that used for browsing, farming, plotting may and might be exposed to malware, vurnelivbilities, or data collection so… then using vm inside that kind of host OS isn’t anywhere secure right?

SUCCESS !!!
Here is a short guide how I did it (I even make it work in GUI):

  1. Have a Host machine running and working full node (for this example it will have IP 192.168.1.100).
  2. Create VirtualMachine with installed OS of your choice (in this example 192.168.2.99 and it has windows).
  3. Make sure VirtualMachine is connected to internet
  4. Make sure Host and Virtual machines can ping each other (paths, gateways, subnet masks etc.)
  5. Install chia (same version as Host) on VirtualMachine
  6. On VirtualMachine import/write your mnemonic 24 words of a wallet you want to operate there
  7. Close chia completely on VirtualMachine, and edit and save config.yaml with these parameters (note; use parameters that fits your setup):
...
wallet:
  ...
  full_node_peer:
    host: 192.168.1.100
    port: 8444
...
  1. On VirtualMachine run wallet-only

  2. This step takes a lot of time (hours) to sync and you can periodically check status on VirtualMachine with .\chia wallet show until it is synced (number will rise from 0 to 180000+ depended on how high is the wallet chain)

  3. When wallet is synced you can send coins without having full node running on VirtualMachine

  4. To use GUI first stop that wallet on VirtualMachine .\chia stop all

  5. On VirtualMachine start chia GUI application

  6. It will start to sync full node but you kill the processes on VirtualMachine TaskManager: “start_farmer.exe”, “start_full_node.exe” and “start_harvester.exe”. You leave running “start_wallet.exe” and “daemon.exe”

  7. Now your wallet will be running normally on VirtualMachine but nothing else, so you can use this machine only to operate transactions.

When I need to make a transaction from this secure VirtualMachine, I start it, wait a little to be synced and do my transactions etc, then close it and secure it on some stick, disk or wherever.

I did this experiment on Flax fork of Chia but it is the same code and it should be equivalent to Chia. I’m going to do this now with Chia and report if it is not working but I doubt that I will have different result.

Special thanks to @juppin @luckidog @WolfGT who helped me with their guidance

1 Like

Congrats, that’s exactly like I told you to setup your isolated wallet with full node on other machine.

Yes it is :slight_smile:
I was impatient and didn’t realise it was syncing.

1 Like

Between steps 5 and 6 you can remove internet access from the VM for additional security. LAN only at that point should be fine, or host only if the VM is running on your full node.

Good to know, thanks for the advice.

1 Like

One wallet may have multiple receive addresses. Your suggestion only works if you never use more than one receive address