Ethereum 101: What’s a Blockchain?

Marc Garreau
Ethereum Grid
Published in
5 min readNov 18, 2019

In the case of Bitcoin or Ethereum, a blockchain can be thought of as a shared, public database. Anyone can download a copy of this database and participate in adding new records to it.

Each record added to this database is called a block.

Today there are well over eight million blocks on the Ethereum blockchain

Each block contains a reference to the block that came immediately before it. Blocks are linked together in this fashion and can be traced all the way back to the first (“genesis”) block.

A chain of blocks 🤔

You’ll notice that each block has a hash and a parent hash. For now, a hash can just be thought of as a unique ID. The parent hash of one block is the hash of the block that came before it.

Besides a reference to the previous block, what’s in a block? More metadata and a bunch of transactions. The simplest form of a transaction is Person A sending some money to Person B.

A block with three transactions: two made by Person A and one by Person D

The number of transactions per block varies widely, but the average is in the ballpark of 100. In general, the more complex the transactions are, the fewer you can fit within one block. We’ll explore those more complex transactions in the next post in this series.

Note: Ethereum Grid has been de-prioritized and deprecated, making this part of the tutorial obsolete. You can still follow along conceptually, but don’t bother downloading the software as it is no longer maintained.

With just that ounce of context, we’re ready enough to get our hands dirty. We’re going to use a desktop application called Ethereum Grid to get a local copy of the blockchain and visualize some blocks. Grid is a handy developer tool used while building and testing blockchain apps, but it’s designed to be friendly for newcomers to explore Ethereum.

Start by visiting grid.ethereum.org and downloading the version appropriate for your operating system.

After downloading and launching Grid, you’ll see the application appear in your menu tray as an Ethereum icon.

Grid makes several Ethereum tools available to you, but today we’ll be working with Geth. Geth is an Ethereum client — software that can download and interact with the Ethereum blockchain.

Click on the name “Geth” to open the expanded view:

Click on “Geth” in the small menu to open the plugin page

Within the expanded view, navigate to the Version tab, then download the latest version of Geth. Once downloaded, switch over to the Settings tab.

We’re going to make two tweaks to the default settings. First, change the network from Main to Görli. Mainnet (“main network”) is a very large data set; we’re just poking around to learn, so we can use a lighter weight testnet instead.

Test networks, or testnets, are exactly what they sound like: a risk-free environment for developers to experiment with before they deploy their applications to the main network. Test networks look and operate very similarly to Mainnet, but with fake units of value.

The second setting to tweak is to set Enable GraphQL Server to Yes, All Origins (*). This will allow us to read block data from the blockchain.

Finally, toggle on the switch to start Geth. You’ll be brought to the Terminal tab, where hopefully you’ll begin to see some notifications of blocks being imported.

Download, configure, then start Geth

Once Geth has begun syncing blocks, you can navigate back to the About tab, scroll to the bottom and launch the Block Explorer app. The app will appear in a new window.

This app is a gentle introduction to exploring the blocks in a blockchain. Like the images earlier in this article, the relationship between blocks is highlighted. Click on blocks to skip forward or backward in the chain and view the transactions in any given block. Note that its very common for blocks in a testnet to contain zero transactions.

If you’re hungry for more data, there are several robust block explorers out there. Etherscan is probably the best known among them, but a search for “Ethereum block explorer” will reveal many more options.

And just like that, you’ve become a participant in Web 3.0! To recap: you’ve gained a baseline understanding of blocks in a blockchain, downloaded an Ethereum client, synced a testnet, and examined block data on the network.

Quiz yourself — You should now be able to give some answer (however brief) to the following questions:

  • What is a blockchain?
  • What is a block?
  • What is contained in a block?
  • What is an Ethereum client?
  • What is a block explorer?

When you’re done celebrating the moment and reflecting on what you’ve learned so far, let’s tackle some follow-up questions in the next post:

  • How do transactions get included in a block?
  • How do new blocks get added to the blockchain?
  • <your question here — ask in the comments!>

Ready? → Ethereum 101: How are Transactions Included in a Block?

Do you want notifications when posts in this series are published? Subscribe to the Ethereum Grid publication below. Thanks for reading!

--

--

Marc Garreau
Ethereum Grid

Author of Redux in Action: http://bit.ly/redux-in-action. Python/JavaScript developer at the Ethereum Foundation.