Thursday 28 July 2016

Ethereum: wallets, accounts & contracts

Continuing this short series of posts on Ethereum for absolute beginners, here I discuss wallets.

As with many aspects of the Ethereum World, the terminology around "wallets" often seems strange and ambiguous, with descriptions like "Paper", "Presale", "Multisig" and "Brain Wallet".

However, I really want to concentrate on options which I think are best suited to those new to the subject.

In ethereum, the term "wallet" is loosely associated with the basic "keys" required to access assets on the blockchain. But there seems to be some attempt to tighten up the definition of wallets and accounts.

At the moment, a wallet may just mean the storage of the Public Key (or Address) and Private Key. Although strictly speaking, these keys just represent an account (also known as a Normal Account).

The term wallet can (and more correctly) mean an application with the ability to perform smart contracts, allow multi-signature access, and so on.

If I have already lost you, you may care to read my 3 earlier posts:-


If you are an ethereum beginner, I recommend that you start with (what is often called) a simple paper wallet. You can do this by using the website:

You may have read that it is dangerous to use websites where there is a risk of fraud, due to the sites server holding valuable information (e.g. if the server holds your keys, they could be stolen if the site security is compromised). So let me explain how this website works.

When using MyEtherWallet, you load their webpage and then run client-side JavaScript (i.e. the work is done on your computer, not on the websites server).

It is the script running on your computer that creates your wallet and handles transactions on the blockchain. If you wish, you can download the software, inspect it, and run it from your computers hard-drive.

I guess at some point (having established that the principle is safe) you have to trust someone! This applies to all software, including ether wallet applications like Mist that you download, install and run from your computer or Smart phone.

When you use MyEtherWallet to generate a wallet, the scripts run on your device and creates the keys and a Keystore file. You can print from a pdf file the key information and a QR code, which represents your paper wallet. This is all described in an earlier post.

However, you can also use MyEtherWallet to view wallet information and send transactions. As a beginner (or someone just playing with the technology) this may be all you ever need to do.

Wallet Applications

Once you get beyond the beginner/dabbler stage, you may want to do more exciting things with ethereum. For example you may want to use contracts to buy and sell ether automatically, maybe when the price rises or falls beyond a certain level.

This is moving outside the scope of this post, but I will mention the Ethereum-Wallet and Mist applications, which you can download from:-

These applications are still being developed and (in my view) are not ready for a novice like me.

When you run the ethereum-wallet for the first time, it runs an ethereum node [program] called geth which attempts to download a complete copy of the current ethereum blockchain.

I've had several attempts at this with the Linux x64 version on my low-power ASUS X401A laptop, and with the Win x32 version on another old box. Admittedly some of these attempts were false-starts. But I now have the correct (latest software) version installed and I think it may complete this operation ...if I leave my laptop running for another day or two.

The problems I have experienced so far mainly revolve around blockchain download stopping for no apparent reason. But I'm now within about 300k of completion (out of nearly 2M blocks) so will push on.

When you launch the wallet application you get a screen like this...

...which probably makes a lot of sense if you are an expert.

The application called Mist is an ethereum explorer which also includes the ethereum-wallet application.

I have only managed to open Mist successfully once. Most of the time it crashes out producing a Segmentation Fault.

However, the ethereum community seem to think this is the bees-knees, so who am I to argue. Anyhow, once you get to the stage where you understand this, you wont need my help!

Ethereum Milestones and Releases

There is an Ethereum plan which describes the aims and stages of the project, and lists major releases.

"Frontier" is the name of the first release, and at the time of writing, the current version is called Homestead.

The plan for "Metropolis" (the third release) is to produce a user friendly system for the masses...I can't wait!

It seems to me that each major release results in a new blockchain (because a blockchain is immutable), where the contents from the previous one are copied and the new Ethereum Virtual Machine (EVM) code modifications are included. The previous blockchain probably lives forever on the EVM, but the miners are supposed to stop supporting it.

You may be aware that Homestead was also deliberately "forked" recently (i.e. duplicated) in an attempt to recover stolen funds. But the original Homestead blockchain is still being supported by some miners and goes by the name of Ether Classic (or ETHC).

In effect this means there are 2 viable blockchains with two currencies; ETH (the new official one) and ETHC (the previous one).

This is a bit of a mess, but it will be interesting to see how this plays out.

Further reading

You might find the Glossary of terms useful, and the Homestead Documentation educational.

Also take a look at Ether Stats screen and ask yourself "Why am I punishing myself like this?"

No comments:

Post a Comment