This is my fist try of a GRIN paper wallet with a pre-loaded seed using the bitcoinpaperwallet.com as a template.
How did I do it?
I generated a new GRIN wallet using the CLI wallet and wrote the Grin wallet recovery seed onto this paper wallet.
Then I transferred X amount of GRIN onto this wallet and securely deleted it from my computer.
Within the privat key part, you’ll find a seed which you can use to restore the GRIN wallet using
As you might see, I could need help from the friendly GRIN community in terms of design a paper wallet for storing GRINS.
How you can help?
Please help me design a paper wallet for GRIN and we can make it available for the whole community
Ah, I mean it’s okay but nothing revolutionary unfortunately. I still can’t generate a private key or mnemonic seed phrase completely offline then send grin to it. I’d need to be able to generate the key/seed phrase, expose it to the internet by receiving funds (or I guess use a USB to receive a slate file) then send a response back. I think it’s the best thing we’ve got for now.
The other issue is that if you need to move funds from your hot wallet to your cold wallet, you’d first need to input this seed into a wallet. Yikes. Anyway, appreciate the thought that went into this. We are far from a solution yet though, at least IMO.
As for the fearmongering bs post about protecting your private key, obviously don’t use paper for long-term storage. Use plastic, wood, metal, rock or anything else more durable. If you can etch it, scratch it, carve it etc. It’s better than paper (obviously).
‘Paper wallet’ has been taken too literally. It’s an offline backup of your keys. We need a better name for it.
These are good points which we need to address @Seppat .
I just took a shot in the dark and tried to make it work with a lot of unknowns yet.
As for the wallet , you are right its needed to be pre-loaded with GRINS and then saved on the paper but this is due to the nature of GRIN with no “addresses”.
I also thought about saving only the slate onto the paper but this would not work, afaik.
My intention where to have a small present for friends and family to distribute the GRIN spirit .
Insert and mount the drive with grin-wallet and slate file (drive 1)
Create a new wallet - Run “grin-wallet init”
Write down the seed words. Without these seed words your coins will be lost.
Sign the slate file - Run “cd /mnt/drive1” and “grin-wallet receive -i slate_file”
Verify that you have the slate_file.response on thumb drive 1
Delete the wallet files - “rm -rf ~/.grin”
Unmount the USB thumb drive containing the grin-wallet executable and slate files
Shut down
Plug in your network cable
Boot your system as normal (not from the bootable thumb drive - drive 2)
Mount the USB drive with the slate files (drive 1)
Send the signed slate file (slate_file.response) back to the sender so they can finalize and broadcast the transaction.
Now the Grin blockchain has your coins, and you have the seed words necessary to generate a wallet that can claim and spend those coins. Your wallet private key and seed phrase has never been on-line.
You can spend your coins using the following steps:
Download the latest grin node, and grin-wallet
Start the grin node and let it sync
Use the grin-wallet to re-create your wallet from the seed words
The wallet will scan the blockchain and find your coins and they will be spendable now
I had another thought. Something like the piper wallet printer, but for grin. With my piper printer I could generate/encrypt keys offline.
It would be super duper cool if there was some sort of like, kodak insta/photo printer to generate time denominated grin paper currency bills. I’m not sure if this is possible, I’m still wrapping my head around mimble wimble. With bitcoin i immediately understood everything, with grin it seems like there’s a bit of algebra I need to interpret to fully ‘get it’. But any way, just my little stream of thought. Cheers.
We are still thinking of a process which can be handled by an average users which is hard at the moment, because as we have seen you need to have some good Linux knowledge to do so.
Personally I am using https://github.com/hendi/grin-multi-wallet-scripts on and offline computer and finalize the TX on my main (hot) wallet and print the seeds onto the paper wallet.
But this requires a lot of knowledge and its not user friendly process.
We need to find another solution to do it locally or in the browser.