DEV Community

Cover image for Blockchain Ethereum Development Guide from A to Z

Posted on • Updated on

Blockchain Ethereum Development Guide from A to Z

Ethereum is a general-purpose blockchain that is geared toward describing business logic, through advanced scripts, also known as smart contracts. Ethereum was designed with a broader vision, as a decentralized or world computer that attempts to marry the power of the blockchain, as a trust machine, with a Turing-complete contract engine. Although Ethereum borrows many ideas that were initially introduced by bitcoin, there are many divergences between the two.
Solidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behavior of accounts within the Ethereum state. Solidity was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM). Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features. With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.
The Ethereum virtual machine and smart contracts are key elements of Ethereum, and constitute its main attraction. In Ethereum, smart contracts represent a piece of code written in a high-level language (Solidity, LLL, Viper) and stored as bytecode in the blockchain, in order to run reliably in a stack-based virtual machine (Ethereum Virtual Machine), in each node, once invoked. The interactions with smart contract functions happen through transactions on the blockchain network, with their payloads being executed in the Ethereum virtual machine, and the shared blockchain state being updated accordingly.

For those who are not familiar with blockchain technology reading History and Evolution of Blockchain Technology from Bitcoin article is strongly recommended. Also, if you wish to learn and practice Hyperledger blockchain development, visit Comprehensive Hyperledger Training Tutorials page to get the outline of our Hyperledger tutorial articles.

We have written two groups of recipes to explore Ethereum and Solidity coding in details. First group covers the following nine tutorials:

In summary, you learn about how to set up and configure Ethereum and develop blockchain applications using Solidity coding language. We explore its essential components such as smart contracts and Web3.JS API via an Auction Decentralized Application (DApp) step-by-step.
In second group, we will discuss more advance topics in Ethereum blockchain development and solidity while building a Tontine DApp game step-by-step. In particular, we discuss Truffle and Drizzle. For example, we show you how a tool such as Truffle can be an assistant in building, testing, debugging, and deploying DApps. In short, we are going to cover four main topics:

  • Exploring the Truffle suite
  • Learning Solidity's advanced features
  • Contract testing and debugging
  • Building a user interface using Drizzle

The 2nd set consists of 8 recipes as follows:

As a reminder, understanding and finishing the first group of recipes are required prior to working on second one.  

Here are a few more hands-on tutorials covering advance topics in Ethereum blockchain development: Building Enterprise Blockchain-as-a-Service Applications Using Ethereum and Quorum, Harness the Power of Distributed Storage IPFS and Swarm in Ethereum Blockchain Applications, and Blockchain Developer Guide- How to Build Ethereum Financial Applications With Java and Web3J API Through Blockchain Oracles


About Authors
This article is written by Matt Zand (Founder of High School Technology Services, Hash Flow, and Coding Bootcamps) in collaboration with Brian Wu who is an advisor at DC Web Makers.

Top comments (0)