Final Steps | Ethereum Foundation Blog

Update as promised: All systems are now technically “Go” (pun intended) and we’ll be releasing Frontier this week.

Thank you to everyone who provided feedback on the last blog post. It turns out that before the big day, many wanted to know more about what exactly the sequence of events would be and how to prepare their cars for release. about it.

Transparent and open release

Frontier users must first generate a Genesis block and then load it into their Ethereum client. Genesis blocks are mostly database files. It contains all transactions from the sale of Ether, and when a user enters it into the client, it represents a decision to join the network based on the conditions. This is the first step towards consensus.

The Ether presale took place entirely on the Bitcoin blockchain, so here’s what it entails: public, anyone can generate and validate Genesis blocks. In the interest of decentralization and transparency, Ethereum does not offer Genesis blocks as downloads, but instead created an open-source script that anyone can use to generate files. A link to this script can be found later in this article.

Since the script is already available and we need to coordinate the release, we need to provide arguments to the script in order to “kick off” Frontier all at once.But how can I do this and Will it remain decentralized?

The arguments should be random parameters that no one, not even us, can predict. As you can imagine, there aren’t that many parameters in the world that match this criterion, but a good parameter is the hash of a future block on the Ethereum testnet. We needed to choose a block number, but which one should we choose? It turns out that 1,028,201 is both a prime number and a palindrome, just as we like. So it’s #1028201.

Steps to release:

  • The final step to release is revealed: You are reading this now.
  • Block #1028201 is formed on Ethereum tesnet and given the hash.
  • The hash is used by users around the world as a unique parameter in Genesis block generation scripts.

What you can do today

First you need to install the client. We’ll use Geth as an example here, but the same thing can be achieved below. Ys (C++ implementation of Ethereum). For Geth installation instructions for Windows, Linux, and OSX, visit the following website: Wiki.

After installing the client, you need to download the Python script that generates the Genesis files. This can be downloaded as “”. here.

Depending on your platform, you can also download it from the console by installing and running curl.

curl -O

This will create the file in the same folder where you launched the command. Next, you need to install pybitcointools, created by Vitalik Buterin. This can be obtained through the Python package manager pip, so install pip first and then install the tools immediately.

The following steps should work on OSX and Linux. Good news, Windows users. pip is included as standard Python installer.

curl -O
sudo python

or (if already installed),

sudo pip install --upgrade bitcoin

As a final step, if you’re using Eth, you’ll need to choose the correct release of the software for your big day, as it recently supported the new Genesis block parameters.

cd ~/go-ethereum/
git checkout release/1.0.0
git pull
make geth

If you want to be as prepared as possible, please follow the instructions up to this point. git pull We recommend running the latest version of the software just before the doom block.

If you previously ran the client:

  • Back up your keys (perhaps some keys will be eligible for Olympic benefits) – the keys are in ./ethereum/keystore.
  • Delete the old chain (located in ./ethereum. Delete only three folders: ./extra, ./state, ./blockchain)
  • ./ethereum/nodes, ./ethereum/history, and ./ethereum/nodekey can be safely left alone.
  • It’s fine to pre-generate the DAG in ./ethash, but feel free to delete it if you need the space.

Check this for a complete breakdown on the location of configuration files. page in our forum.

Next, we just have to wait for block #1028201, which at current block resolution times should form approximately Thursday evening GMT+0.

Once 1028201 is formed, you can access its hash by querying the node running the testnet. web3.eth.getBlock(1028201).hashHowever, I want that value to be available to all blogs, not just this one. socializing media Channel.

You will then be able to generate Genesis blocks by running:

python --extradata hash_for_#1028201_goes_here > genesis_block.json

By default, the script uses Blockr and to retrieve Genesis presale results. You can also add . – Insight Switch to this if you want to use a private Ethereum server to retrieve this information. If you have a problem with a script, please raise an issue with that script. github.

Although we do not provide Genesis blocks as files, we do provide Genesis block hashes (immediately after you generate them yourself) to ensure that invalid or malicious third-party files are easily discarded by the community. Offers.

Once you are satisfied with generating the Genesis block, you can load it to the client using the following command:

./build/bin/geth --genesis genesis_block.json


./build/eth/eth --genesis genesis_block.json

From there, check out the Getting Started Frontier guide below for instructions on creating an account, importing a presale wallet, trading, and more.

If you have used Ethereum before, please note that you should generate new keys using the recent (RC) client rather than reusing your testnet keys.

A few more…

I would also like to draw a little attention to the “thaw” phase, a period where the per-block gas limit is set very low to allow the network to grow slowly before transactions are executed. During the early stages of the release, we expect network instability, including possible forks and abnormal displays of our information. page, and various peer-to-peer connectivity issues. As with the Olympic period, this instability is expected to subside after a few hours or days.

Additionally, while we intend to provide a secure platform in the long term, we would like to remind everyone that Frontier is a technical release for developers, not a general release. Note that early software is often subject to bugs, instability issues, and complex user interfaces. If you want a more user-friendly experience, we recommend waiting for a future Homestead or Metropolis Ethereum release.

Be especially wary of third-party websites and software of unknown origin. Ethereum only publishes software through the following github platform.

Finally, for clarity, it is important to note the following: Olympic Although the program ended this morning with block 1M, the bug bounty is still ongoing and will continue until further notice. You should continue to report any security vulnerabilities you find.


27/07/15: Added instructions for users upgrading from a previous installation
28/07/15: Minor edits, added link to script github
29/07/15: Added recommendation to create new keys and not reuse testnet keys

Related Article


Leave a Comment