I recently set about putting a process in place to purchase various crypto currencies, in case I decide I’d like exposure to them.`
I wouldn’t be keen on storing any currencies at an exchange, and so I’d opt for off-line cold storage (in preference to a hardware wallet). Generating the addresses/keys on a computer that will never be connected to the internet.
My understanding of Etherium is that it is a platform where programmers can build decentralised applications. Smart Contracts are said to be it’s main use case. My worry with ethereum is that is is more of cool project that a type of money, and there are question marks as to how it will develop. Interesting posts here and here.
To transact, my starting point was this python script which I could follow and seemed reasonable. I supplemented this as follows:
My script output to the terminal as follows:
It generates a png containing the QR Codes:
After I have the required files, I would use
gpg to encrypt them before transferring them
off of the offline machine. Any intermediate files would then be deleted using the linux
Bitcoin is the most well know crypto, acting as a schelling point for new money. It markets itself as a store of value and is seen as a competitor for fiat currencies. My concern is that as a competitor, it may become outlawed with its weak points being its interface to the banking system. I’ve seen some crytpo enthusiasts also complain that it is slow and doesn’t scale.
My starting point with bitcoin was the bitaddress site, which many use to generate their wallets. My plan was to review the code before using it - however, looking at the code there were over 10K lines of very low level code.
I then went about looking for python scripts, though couldn’t find a working solution. Bitcoin encoding is more difficult than that of ethereum.
I finally stumbled on a post on how to perform the encoding here and here, along with a corresponding github repo which I used to create a script.
While I didn’t trust the bitaddress code to generate the private key, the offline site does have the option of generating addresses in various formats and QR codes. My plan is to use that to validate the script output and to get a png with QR code etc.
Ripple is interesting in that it’s use case appears to be fast money transfer, a replacement for the swift system. Ripple was created by a private company who control a lot of the coins and development, which many see as a negative. On the plus side, it appears to have the backing of large banks.
Purchasing offline options were limited for Ripple. I initially found xrppaperwallet though couldn’t find much further information on the site and so didn’t pursue it further.
, which proved to be a bit complicated as (i)Installing
yarn on ubuntu installs cmdtest instead (ii) ripple library
now needs a jquery js file that the earlier one didn’t. Once I has the new trustworthy ripple-lib, I then just updated
the generateSecretOffline page to use that instead.
In addition to the above, I also wrote a python script to generate QR Codes that I could then encrypt before transferring off of the offline machine.