A lot has happened in the Ethereum ecosystem in the past few weeks, so much that it might be difficult for a casual observer to understand where we are and what’s available out there. So I want to use my first post here to give you an overview of the tools we’ve built and how you can use them to build interesting things at the moment.
But first a quick introduction: I’m Alex Van de Sande and I’m the lead designer of the Ethereum Foundation. At DevconOne, I gave a talk titled “The Blockchain Versus The Average User” in which I elaborated on the challenges of making the Ethereum ecosystem accessible to the aforementioned “average user”, one of which is the difficulty to define what this term even means. When personal computers were introduced, they were advertised as “for the rest of us,” but the “rest of us” audience they targeted was actually a very limited audience interested in word processing, spreadsheets, and desktop publishing . Today they would be considered among the top-tier geeks, just below the kind of people who are still arguing about the merits of Vim versus Emacs. I firmly believe that one day your candy crush playing grandma/grandfather will use blockchain like he/she uses databases and https connections today without realizing it (perhaps if they won blue diamonds in a game into cows in another game by another publisher). But right now I’m working on bringing it to the next level of users who can download an office suite and figure out how to use a spreadsheet, but aren’t comfortable around command lines.
So if you count yourself among this group, welcome, we’ll guide you through some basic activities you can do in Ethereum in a few minutes: Create your own cryptocurrency, build your own democracy and create a central bank on the blockchain. We skipped the Hello World tutorial this time, but you’ll do just fine.
Download the Ethereum wallet
Download the latest version of the wallet
But enough talk, let’s get our hands dirty with Ethereum! I may be biased, but I would say the best place to start is with the Ethereum Wallet, a multi-platform app that allows you to send Ether and Ethereum-based currencies, create contracts, and execute.
The first thing you need to do is create an Ethereum account. All you need is a strong password and you will get it. In order to do anything, you need to put some Aether in it: but don’t worry, you don’t need much. Most contracts here cost less than a tenth of a US penny. If you’re just testing it, we recommend you switch to the testnet: go to the menu develop > network > testnet (morden) and then further develop > start mining. After a few minutes, you’ll probably have enough ether to test everything, so you can turn it off and save your computer resources.
The wallet only allows for basic mining on the testnet, but if you want to try your luck on the real network, then you need a more advanced tool. This used to be a cumbersome process, but now there are better, simpler tools: and we have new tools that make this process much easier.
The AlethOne miner is a straightforward two-button tool: press one to start mining in your GPU and press the other to deposit your rewards into a wallet. Download it from the Turbo Suite, a set of powerful tools developed by the C++ team to develop Ethereum applications.
If you want to create smart contracts on the live network and can’t mine, you’ll need some Ether. You can have a friend sent to you or exchange them for bitcoins on a crypto exchange. If you’re a bitcoin fanatic, we suggest you keep an eye on the btcrelay project, a fraud-proof sidechain coming soon that will enable fast exchanges between ether and bitcoin without a third party.
Create a token
The first contract we will create is a token. Tokens in the Ethereum ecosystem can represent any replaceable tradable asset: coins, loyalty points, gold certificates, promissory notes, in-game items, etc. Since all tokens implement some basic functionality by default, it also means that your token is immediately compatible with the Ethereum wallet and any other customer or contract using the same standards.
Go to the contract page and then click on “Provide new contract”.
Now get the token code from here and paste it in the Solidity Source field. If the code compiles without errors, you should see a “Select Contract” drop-down menu on the left. Get it and select the “MyToken” contract. In the right column you can see all the parameters you need to personalize your own token. You can customize them as you like, but for the purposes of this tutorial, we recommend you to select these parameters: 10,000 as a supply, any name, “%” for a symbol, and 2 decimal places. Your app should look like this:
Scroll to the bottom of the page and you will see an estimate of the calculation cost of this contract and you can select a fee for how much ether you are willing to pay for it. Any excess ether you don’t spend will be refunded to you So you can keep the default settings if you wish. Click “Submit”, enter your account password and wait a few seconds for your transaction to be picked up.
You will be taken to the home page where you can see your transaction awaiting confirmation. Click on the account called “Etherbase” (your main account) and after no more than a minute you should see that your account shows that you have 100% of the shares you just created. To send some to a few friends: Select “Send” and then choose the currency you want to send (Ether or your newly created share), paste your friend’s address in the “To” field and press “Send”.
If you send it to a friend, they won’t see anything in their wallet yet. This is because the wallet only tracks tokens that it knows about and you have to add them manually. Now go to the Contracts tab and you should see a link for your newly created contract. Click on it to go to his page. As this is a very basic contract page, there is not much to do here, just click copy address and paste the contract address into a text editor, you will need it shortly.
To add a token to watch, go to the contract page and then click Watch Token. A popup will appear and you just need to paste the contract address. The token name, symbol and decimal should fill in automatically, but if it doesn’t, you can type anything you want (it only affects how it appears in your wallet). Once you do this, any balance you have from that token will automatically be shown to you and you can send it to others.
And now you have your own crypto token! Tokens in themselves can be useful as a value exchange for local communities to track work hours or other loyalty programs. But can we give intrinsic value to a currency by making it useful? Tomorrow we will show how tokens can be used as a voting system to make collective decisions about the use of funds by creating one Democratic Autonomous Organization.