Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
How to get on Rinkeby Testnet in less than 10 minutes

How to get on Rinkeby Testnet in less than 10 minutes

Following instructions from the excellent https://www.rinkeby.io/

Synchronizing a Full Node

A full node lets you access all state. There is a light node (state-on-demand) and wallet-only (no state) instructions as well, and these are even faster. I'm using this for dapp development, so I want access to all state.

From the docs above:

A full node synchronizes the blockchain by downloading the full chain from the genesis block to the current head block,
but does not execute the transactions. Instead, it downloads all the transactions receipts along with the entire recent state.
As the node downloads the recent state directly, historical data can only be queried from that block onward.

Initial processing required to synchronize is more bandwidth intensive, but is light on the CPU and has significantly reduced
disk requirements. Mid range machines with HDD storage, decent CPUs and 4GB+ RAM should be enough.

Step 1: Download Geth

First, install the latest geth (1.7.3) to your machine.

For Ubuntu, you can follow the instructions on the official wiki.

sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

If you're just upgrade geth from a previous version, you can just run

sudo apt install geth

If you're downloading this to your Mac, you'll need to download the packages manually to get the latest (1.7.3) release. https://geth.ethereum.org/downloads/

Extract it and copy the geth binary to somewhere in your path.

# ppham @ Pauls-Air-2 in ~/Downloads [21:46:25]
$ tar zxvf geth-darwin-amd64-1.7.3-4bb3c89d.tar.gz
x geth-darwin-amd64-1.7.3-4bb3c89d/
x geth-darwin-amd64-1.7.3-4bb3c89d/COPYING
x geth-darwin-amd64-1.7.3-4bb3c89d/geth

# ppham @ Pauls-Air-2 in ~/Downloads [21:46:39]
$ sudo mv geth-darwin-amd64-1.7.3-4bb3c89d/geth /usr/local/bin/geth

For older releases on Mac OSX, you can use Homebrew to install from scratch:

brew install ethereum

and again if you are upgrading just geth

brew install geth

Unknown whether Parity works as well. It will probably take some finagling to work with the Geth-style Genesis block.

Step 2: Run Geth in Rinkeby Mode

At this point, you should probably start a tmux or screen session, so if you get interrupted during syncing it will still keep going in the background.

To run a full node, start Geth with the Rinkeby switch:

geth --rinkeby

SECURITY WARNINGS: We've enabled RPC and also loaded the personal module to allow testing and participating in smart contracts. However, if you do these things on a mainnet node with your unlocked wallet exposed to the internet, you could get hacked and all your monies stolen. I'll write a separate gist about a secure way to participate in a mainnet contract with real ETH.

On a MacBook Air with a 10 MBps (standard home internet download speeds), I was able to sync all 187k blocks in < 7 minutes,

Step 3: Create an account

In a separate tmux pane or screen buffer or a separate terminal completely, create an account and save the password somewhere safe.

After that, attach the console with the appropriate data directory.

On Linux it would be:

geth --datadir=$HOME/.rinkeby attach ipc:$HOME/.rinkeby/geth.ipc console

On Mac it would be:

geth --datadir=$HOME/.rinkeby attach ipc:$HOME/Library/Ethereum/rinkeby/geth.ipc console

and create an account (substituting a much better password than notmyrealpassword).

Welcome to the Geth JavaScript console!

instance: Geth/v1.6.1-stable-021c3c28/darwin-amd64/go1.8.1
 modules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0

> eth.accounts
[]
> personal.newAccount("notmyrealpassword")
"0xb2e9fe08ca9a0323103883fe12c9609ed380f475"
> eth.coinbase
"0xb2e9fe08ca9a0323103883fe12c9609ed380f475"
> eth.getBalance(eth.coinbase)
0

You'll see a different address than 0xb2e9fe08ca9a0323103883fe12c9609ed380f475. That one's mine, provided for illustration. Save your password in a secret place, preferrably encrypted. I use Evernote encrypted text, but you can use any password manager like 1Password, LastPass, Dashlane, etc.

Leave that terminal open for now.

Step 4: Request ETH

Because Kovan and Rinkeby both use Proof-of-Authority (clique) to grant ETH, you'll need to request some to get started. However, unlike Kovan which requires you to bootstrap by requesting KETH from another human being, Rinkeby has a super-slick automated faucet, where you submit your address (copied from above) into one of three methods:

  • A public tweet on Twitter
  • A public Facebook post
  • A public Google+ link

Since I never use Google+ for social reasons with humans, I might as well use this for socializing with robots.

You can go to http://plus.google.com and post publicly on any discussion board. Here's mine.

Copy this URL:

https://plus.google.com/104143092173669955154/posts/bkAkrmtukQ5

Go to the Crypto Faucet section of https://rinkeby.io and paste it into the blank.

Choose an option from the dropdown which corresponds to how much Ether you need and how frequently (requesting more Ether will take longer between requests). I requested 3 ETH in 8 hours. Don't worry, you'll get your ETH in seconds, but you can't request again for another 8 hours. This is to prevent spammers from swamping the network by overpowering it with mining power and then out-spending everyone else.

This is the transaction where I received my 3 ETH: https://rinkeby.etherscan.io/address/0x54b7bc5bea3845198ff2936761087fc488504eed

Now, back in your geth console, wait for at most 15 seconds for the next block to be found, and verify your balance again

> eth.getBalance(eth.coinbase)
3000000000000000000

Woohoo! You're rich, in testnet wei :)

If you found this guide useful, follow us on Twitter at @InvisibleLearn or join us on Slack: http://invisible-slack.herokuapp.com/

You can also leave questions, comments, or feedbacks on this gist.

ujizzy commented Jun 10, 2017

hello please did you really get any Ether i tried the faucet but am yet to see the received ether in my wallet balance?

neoecos commented Jul 2, 2017

Yep, it works i followed the procedure and i inmediatly got the etherhttps://rinkeby.etherscan.io/tx/0x68b4adbebca9fa353e51817e79f279c90f90c8929760b49db8786a0ae19092c5

kgcorps commented Jul 3, 2017

I added few more parameters to the geth start command, to run mining operation... but I get this error: Block sealing failed err=unauthorized
Any idea what have I done wrong? Had no problem with this on ropsten.

Works! Thanks for the detailed explanation.

brianfajardo commented Jul 9, 2017

Super helpful! Thank you a ton for taking the time to write this out.

zubra5 commented Jul 11, 2017

I had problem with single quotation mark for --ethstats. So I used a double quotation mark for that part of a command

I'm not able to get the nodes to start syncing. Anyone else run into this issue?

screen shot 2017-07-17 at 3 59 56 pm

iam-peekay commented Jul 17, 2017

Nevermind. I deleted everything and started over. It synced now :)

Also, the personal.newAccount method is missing a left parens: personal.newAccount("notmyrealpassword")

Owner

cryptogoth commented Jul 17, 2017

Thanks iam-peekay and zubra5 i'll fix the writeup with your corrections.

Owner

cryptogoth commented Jul 17, 2017

ujizzy make sure you are on the rinkeby testnet (networkid=4) when you check your balance, and that you created the address on that same network.

also, check the Rinkeby blockchain explorer, not the mainnet explorer. Let me know if that doesn't fix it.
rinkeby.etherscan.io

ijazm commented Aug 22, 2017

I am getting a error when running the command

geth --networkid=4 --datadir=$HOME/.rinkeby --cache=512 --ethstats="yournode:Respect my authoritah!@stats.rinkeby.io" --bootnodes=enode://a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf@52.169.42.101:30303 --rpc --rpcapi="personal,eth,network"

bash:!@stats.rinkeby.io: event not found

ijazm commented Aug 22, 2017

It works for me now when I give single quote instead of double quote for
--ethstats='yournode:Respect my authoritah!@stats.rinkeby.io'

It used to work but I am getting this error from geth today:
WARN [08-26|12:24:48] Stats server unreachable err="websocket.Dial ws://stats.rinkeby.io/api: bad status"

james18 commented Aug 28, 2017

Haven't gotten any test ether, as faucet.rinkeby.io does not acknowledge my request. Nothing happens.
https://gist.github.com/james18/0c59d6c5cafd750d82a1e7f46fc36bd5 is my gist file. Can someone pls share some test ether to: 0xE0020107EA4ce4a3d7223B82588E44bB7068f5ea Thanks!

bpoppe4 commented Aug 28, 2017

I can't seem to get any either. Please send some test ether to:
0x99A53988ECb74D8276428625313Fd4157631248E

Thank you!

popofe commented Aug 28, 2017

On a Windows command shell, it works for me now when I give double quote instead of single quote for
--ethstats='yournode:Respect my authoritah!@stats.rinkeby.io'

golartes commented Sep 8, 2017

Try to request for ETH at network , but got the error "Invalid user... Boom". What is that? Help me, please

I am getting
WARN [09-12|23:29:17] Stats login failed err=unauthorized
any ideas?

When running:
eth.coinbase
Error: not supported at get. I think is needed:
miner.setEtherbase(eth.accounts[0])
but miner is not supported as well. Should I start geth with --miner parameter?

please i cant get ether on rinkeby.io ,giving error invalid user please please i need some ether to try it out my address please
0x521F137871082aAF01EEC7E10C70315d588A7772

I also got the error "Invalid user... Boom". Can somebody describe what to do in this case?

AI3EL commented Sep 17, 2017

Same as @born2net

Owner

cryptogoth commented Sep 22, 2017

Hi towobola slava239 AI3EL can you paste the link of the gist you're submitting to rinkeby.io ?
I suspect you might have a typo in the github username in that url.
e.g. here's a gist I used successfully in the past:
https://gist.github.com/cryptogoth/d6eab7b736a0052589492ebf16707cbe

Hello friends how are you

He knows someone passing by the tap, it does not work for now.

Can someone do a test by sending to my address please?

https://gist.github.com/ONLIMAKE/1ec25971d73fc870af589da4e2e5d123

To check if the faucet is or something else happens thanks friends

@james18 same here, I see you've got some ETH now, could you please send some to 0x7FB15f26BD6756d49eE55b548eCc5376bf548C01

I got a "Stats login failed" the second time although the fist time all worked well. Any ideas anyone?

Can not get ether, could anyone send to this account 9f3bdf37f348fb82fdd4cbcffc126c9282ef319a 10 ethers, Thanks!!!!

gbersac commented Sep 28, 2017

The address to get ether is now https://faucet.rinkeby.io/

gbersac commented Sep 29, 2017

With geth version 1.7.1, you can synchronise with the following command : ~/go/bin/geth --rinkeby

I receive this issue with the rinkeby.json file..
Fatal: invalid genesis file: json: cannot unmarshal string into Go struct field Genesis.number of type uint64

tammylvu commented Oct 6, 2017

delete chaindata in $HOME/.rinkeby @dalderup

@DalderupMaurice upgrade ur geth to version1.7. I solved it by upgrading geth.

Hello friends of the chat, just a suggestion for those of us who are testing the Rinky test in the wallets.

1.- Ethereum people should give a value to ETHER of the Rinkeby network in order to better equip our nodes and help the Ethereum project.

If we give Rinkeby an economic value of at least $ 100 we could acquire new mining equipment and continual hard disk capacity as nodes.

What do you think the idea?

Owner

cryptogoth commented Oct 22, 2017

Hi @ProyectsX I don't see how assigning a fixed value to Rinkeby ETH would improve nodes or help the Ethereum project.
Right now new Rinkeby ETH is created in a controlled manner via Proof-of-Authority, so it's constantly being inflated in a slow way.

ijkl123 commented Oct 27, 2017

To attach, you can also do:

geth --datadir=$HOME/.rinkeby attach ipc:$HOME/.rinkeby/geth.ipc console

ijkl123 commented Oct 27, 2017

From the faucet, I repeatedly get "No Ethereum address found to fund" message.

Do you know why ?

one should put step 5 down and exchange it with another docu about getting ether for rinkby test network; or put this whole docu down, since rinkeby.io gives the warning : Github authentication discontinued at the official request of GitHub.

Yes, Github no longer works, as of November 2017 you can use Google+, Twitter or Facebook. I chose Google+ and it worked.

should I keep the blockchain sync up in the background?

grd123 commented Nov 16, 2017

Please help some ethereum, kindly please. I dont understand how. I just have samsung tablet. Please help some ethereum. My ethereum address: 0x796d55c386914f66Af76cD66eAAfcd248305B531

itisha commented Nov 21, 2017

I see people compleining about the same issue. Are there any ways to fix this:
c33a54ad5dd47c12fe9ce4ae5de0b9d2

Owner

cryptogoth commented Nov 21, 2017

thanks @andrematzke @comodoro i'll update the doc

Owner

cryptogoth commented Nov 22, 2017

@manolodewiner you need to create an account to have eth.coinbase
the instructions are in the gist as well, Step 3: Create an account

Owner

cryptogoth commented Nov 22, 2017

@itisha the new version of geth doesn't require this stats login.
I updated the gist, try it again with geth --rinkeby

Owner

cryptogoth commented Nov 22, 2017

@ijkl123 great tip, it's been incorporated. can you paste the link to the social media post you used to request Ether? We can make sure the Ethereum address is valid.

i have 3 eth in my wallet what shall i do with it how can exchange it ?? thank you

hqblock commented Dec 11, 2017

Hi,
Anyone has an idea why when using the faucet I'm getting "zlib: invalid header" ?. I'm using a twitter post and I tried different browsers but always got the same error :-/

Thanks!

vitali2y commented Dec 12, 2017

@hqblock. I have the same "zlib: invalid header" issue with twitter post - around a week ago everything was fine.
FYI #15635 @ go-ethereum.

hqblock commented Dec 14, 2017

thanks!

I have tried Twitter, Google+, and Facebook. On Twitter, I hit the "Zlib: invalid header issue". On Google+ and Facebook, the Faucet web app simple responds "No ethereum address found to fund" Any ideas what I am doing wrong here?

alsma commented Dec 17, 2017

Also getting zlib: invalid header

samnet commented Dec 17, 2017

As of today, approximately how much space do I need on my HD to run a full node Rinkeby node?

Twitter link is down. But if you get "No Ethereum address found to fund" on FB then make sure your post is "PUBLIC". Worked for me :)

Mathiuz commented Dec 21, 2017

@ProyectsX hello Hello, could you tell me how I can do to join you, I want to know how your development is going and when it is out Illuminat7s my facebook is Zatch Mathiu

I've tried twice to get from the Rinkeby faucet and the transactions end in failure. The message as seen on Etherscan is "Value transfer did not complete, most likely as a result of a REVERT opcode."

I cannot find information about this error as it pertains to a recipient (only w/r/t to senders).

The address in question is 0xcb647a10db9a817e2ab32c9ae174723ce3dd35ba .

ingamx commented Dec 29, 2017

nice. tnx

FYI the command to connect to the console with Geth 1.7.1-stable and Ubuntu 16.04 is slightly different as an .ethereum dir is also created:
geth --datadir=$HOME/.ethereum/rinkeby attach ipc:$HOME/.ethereum/rinkeby/geth.ipc console

So I was able to get the ETH from the faucet. HOWEVER - I need the ETH on a different address (didn't realize until I processed the faucet) - IS there any way to send the TEST ETH from the eth.coinbase address TO another "newAccount" address within Rinkeby? OR do I have to wait the 8 hours?

I can't seem to find a way to send within geth. I also cannot seem to figure out how to display the "private key" for the eth.coinbase account that was loaded by default when setting up rinkeby, as I did not set a password for that account. Is there just a default password added by default?

I followed the instructions down to the tee, and even though rinkeby told me my transaction went through and that I was funded, I still get a balance of 0 eth when i check using getBalance. I pasted my address to both google plus and twitter and each time the faucet told me the transaction went through yet my balance remains 0. Am I doing something wrong?

That said, can somebody just send me ether: 0x7f44b4b334a76a20a697f8983d757ae998fe3a5a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment