Joining the Rinkeby Ethereum Testnet (20 pts.)

THIS TAKES SEVERAL HOURS

What you need

Purpose

To get a full Ethereum node on the Rinkeby test network, so you can proceed to the Hack This Contract challenges.

Ethereum Overview

Ethereum is the #2 cryptocurrency. It differs from Bitcoin because it provides an Ethereum Virtual Machine, which can be used to run programs on the blockchain.

For more information, see:

http://truffleframework.com/tutorials/ethereum-overview

Smart contracts are programs that run on the blockchain, replacing human directors. Contracts may be written in several languages, one of which is Solidity.

Downloading Geth

Geth is the main software that implements the Ethereum blockchain.

In a Web browser, go to

https://geth.ethereum.org/downloads/

Download the appropriate version for your OS, as shown below.

The next steps depend on your operating system. Follow the instructions in the appropriate box below.

Instructions for Mac

Installing geth

In a Terminal window, execute these commands.
cd ~/Downloads
ls geth*
Find the full name of the file. When I did it, it was "geth-darwin-amd64-1.8.10-eae63c51.tar.gz", as shown below.

In the Terminal window, execute these commands, adjusting the filename to match your file.

tar zxvf geth-darwin-amd64-1.8.10-eae63c51.tar.gz
sudo mv geth-darwin-amd64-1.8.10-eae63c51/geth /usr/local/bin/geth
Enter your password when you are prompted to, as shown below.

Run geth in Rinkeby Mode

Execute this command to start your local Ethereum node, and begin downloading the Rinkeby test chain, as shown below.
geth --rinkeby

Viewing Sync Progress

Open a new Terminal window, and execute these commands:
geth --rinkeby attach
eth.syncing
If you see block numbers, as shown below, the sync is still in progress.

When the sync is complete, that command will return false

Instructions for Windows

Installing geth

In your Downloads folder, double-click the geth-windows-amd64-1.8.10-eae63c51.exe file. Install the software with the default options.

Run geth in Rinkeby Mode

Open a Command Prompt window and execute this command, which starts your local Ethereum node, and begins to download the Rinkeby test chain, as shown below.
geth --rinkeby

Viewing Sync Progress

Open a new Terminal window, and execute this command:
geth attach \\.\pipe\geth.ipc
A geth console opens, with a > prompt, as shown below.

Execute this command to see if the sync is done:

eth.syncing
If you see block numbers, as shown below, the sync is still in progress.

When the sync is complete, that command will return false

Viewing the Rinkeby Testchain Online

In a Web browser, go to:

https://www.rinkeby.io/#stats

The Rinkeby test chain appears, as shown below. At the top left, notice the current block. When I did it, on June 9, 2018, it was 2,432,140.

Create an Account

In the Terminal window showing the > prompt, execute these commands:
eth.accounts
personal.newAccount("P@ssw0rd")
eth.coinbase
eth.getBalance(eth.coinbase)
The first command shows that at first, there are no accounts.

The second command gets the current coinbase address.

The third command creates a new account with the password "P@ssw0rd".

The fourth command shows the balance in the coinbase.

These commands are Geth console commands. For more information about them, see:

Managing your accounts

Request Eth

Rinkeby uses Proof-of-Authority (clique) to grant ETH, which means that you must request funds from a central authority. You do that by posting a message on Twitter, Facebook, or Google+.

I recommend Google+, because I don't use it to talk to actual humans.

In a Web browser, go to

https://plus.google.com/

Click "What's new with you", as shown below.

Post your account address, as shown below. Click Post.

When your post appears, click the little square-and-arrow icon, as shown below.

Your post appears on its own page. Copy the URL to this post, as shown below.

In a Web browser, go to

https://www.rinkeby.io/#faucet

Enter the URL to your Google+ post and click "Give me Ether", "3 Ethers / 8 Hours", as shown below.

Viewing your Faucet Transaction

Once your node syncs, you can search for your account number on the Block Explorer page at https://www.rinkeby.io/#explorer and see the transaction that gave you 3 Ether, as shown below.

Viewing your Balance

In your geth console window, execute this command:
eth.getBalance(eth.coinbase)
Your balance is now 3000000000000000000 "wei", or 3 Ether, as shown below.

Recording your Success (20 pts.)

To win, send me some Ether!

First unlock your account by executing this command at the > prompt, as shown below, replacing the account number with your account number, and the password with your password:

personal.unlockAccount("0x6c9b9e9869fd6fbc792b1893754937f46d1ce2f0", "P@ssw0rd")
Then execute the command below to send some Ether and your name to me.

You will need to make these two changes to the comand:

Here is the command to start from:
web3.eth.sendTransaction({from:"0x6c9b9e9869fd6fbc792b1893754937f46d1ce2f0", 
to:"0x2ac2cbdc058967ba83d34dddc0c2b5e52c3b9599", value: web3.toWei(0.05, "ether"),
gas:1000000, data: "0x594F55524E414D45"})
The transaction succeeds, and returns a green transaction hash, as shown below.

Enter the transaction hash into the form below to put your name on the WINNERS PAGE.

Your Name (without spaces):
Transaction hash:

Sources

How to get on Rinkeby Testnet in less than 10 minutes
The Complete Tutorial On Getting Started With Smart Contracts On Ethereum
How do I send an arbitary message to an Ethereum address?
Posted 6-9-18 by Sam Bowne