Skip to main content

Command Palette

Search for a command to run...

Exploring Ethereum: The Basics

Published
5 min read

Following Ethereum’s creation as a general-purpose computing platform, Ethereum quickly gained traction in the blockchain space. Designed to support a wide range of decentralized applications through programmable smart contracts, Ethereum has become one of the most influential and widely adopted blockchain networks, and continues to evolve rapidly.

In this article, we’ll provide a brief overview of Ether, Ethereum’s native cryptocurrency. You’ll learn how to:

  • Securely store your Ether with the right wallet

  • Obtain and transfer the test Ether for development or experimentation

  • Switch between networks (e.g., mainnet and testnets)

We'll also introduce smart contracts, explaining how to create one on the blockchain and interact with it effectively.

Understanding Ether: A Brief Overview

Ether (ETH) is Ethereum’s native cryptocurrency. It was created to provide a mechanism for users to fuel the computational resources required to execute smart contracts and run applications on the Ethereum network. This provided an incentive for participants to verify and execute transaction requests and provide computational resources to the network. Ethereum developers and community metaphorically refer to ETH as the gas that powers the network. This is because ETH is exchanged for the work done to verify transactions and secure the blockchain, similar to money spent to buy the gas that powers a car. ETH has also evolved into a cryptocurrency of market value that is exchangeable for fiat currency on cryptocurrency exchanges.

Ether is subdivided into smaller units, down to the smallest unit possible, named wei. Where one ETH equals 1 quintillion wei (1 * 1018 or 1,000,000,000,000,000,000). Internally, the ETH’s value is represented in Ethereum as an unsigned integer denominated in wei. Therefore, one ETH transaction encodes 1 × 1018 as the value.

Securely Storing Your ETH with the Right Wallet

The term wallet refers to a software application that helps you manage your crypto assets, and in this case, the assets in your Ethereum account. There are many different wallet options with different features and designs that make choosing the right wallet tedious. While some are suited for different levels of expertise, the best wallets are often the ones that adapt to the changes that come with the platform upgrades.

One important thing to remember is that for a wallet application to work, it must have access to your private keys, so ensure that you only download and use wallet applications from trusted sources. Below are a few selected options based on a broad range of complexity and features. However, these selections are not an endorsement of their quality or security. They are simply a good starting place:

  • Metamask

  • Jaxx

  • MyEtherWallet (MEW)

  • Emerald Wallet

Obtaining and Transferring Test ETH

Funding your wallet for testing and development involves utilizing the Test Network because real ether costs money, and handling it requires a bit more experience. Interacting with the Test Networks requires test ETH, which has no real-world value but behaves like real ETH.

You can get test ETH through a faucet, a free service that sends small amounts of test ETH to your wallet. Below are the steps to achieve this:

  1. Set up a wallet (e.g., MetaMask) and connect it to a test network like Sepolia.

  2. Copy your wallet address.

  3. Visit a faucet website (e.g., Sepolia Faucet).

  4. Paste your wallet address and request some test ETH.

  5. After a few moments, the test ETH will appear in your wallet.

Once you have your test ETH, you can send it like regular ETH in the following steps:

  1. Open your wallet and select the Send option.

  2. Enter the recipient's address.

  3. Specify the amount of test ETH you want to send.

  4. Confirm and complete the transaction.

  5. View the transaction status on a block explorer (like Goerli Etherscan).

Understanding Smart Contract

A smart contract is a self-executing script/program that depicts and enforces the terms of an agreement directly in lines of code. Once deployed on the blockchain, it runs automatically, triggering outcomes when predefined conditions are met, without the need for intermediaries.

You can think of a smart contract like a washing machine where you input settings like wash time, temperature, etc., and once started, it runs autonomously through each step of the cycle. When the timer reaches zero, the machine stops, and your clothes are ready. Similarly, a smart contract carries out instructions, which, once triggered, its outcomes are guaranteed by the blockchain. Now, let’s see how to create a simple smart contract.

Creating a Smart Contract

Ethereum provides many tools to write a contract and produce EVM bytecode. One of these tools is by far the dominant choice for smart contract programming, called Solidity. Solidity is a high-level language created by Dr. Gavin Wood. It is what we’ll use to create our first contract.

Our first example involves creating a contract that controls a faucet. Below are the steps to achieve this:

  • The first line is a comment:

      // SPDX-License-Identifier: CC-BY-SA-4.0
    
  • The next thing is to write the starter for our actual contract:

      contract Faucet {}
    
  • Next, we ensure the contract can accept any incoming amount:

      function withdraw(uint withdraw_amount) public {
    

    The function withdraw takes one unsigned integer (uint) argument named withdraw_amount. It is declared as a public function, meaning it can be called by other contracts.

  • Next, we limit the withdrawals:

require(withdraw_amount <= 100000000000000000);
  • Finally, we send the actual amount

      msg.sender.transfer(withdraw_amount);