The Bit Shift

The Bit Shift

Share this post

The Bit Shift
The Bit Shift
A Quick Start on Ethereum Programming

A Quick Start on Ethereum Programming

The most difficult step if the first one

BowTiedCrocodile's avatar
BowTiedCrocodile
Feb 15, 2022
∙ Paid
8

Share this post

The Bit Shift
The Bit Shift
A Quick Start on Ethereum Programming
Share

Getting started with programming on the Blockchain is far easier than you think but there are different approaches you need to analyze depending on your goals. The purpose of this guide will help inform you better of the options you have available to you for getting started coding in within the Ethereum Network.

Blockchain Programming

There are many facets to program within the blockchain ecosystem. At the deepest core you have coding the actual blockchain itself, meaning you are building Ethereum Nodes that run the network. This is a highly complex and technical area, suited for experienced programmers who like Go or Rust languages and can work with large application and systems level type programming. You’ll need to understand distributed computing, the blockchain itself at an advanced level, smart contracts, hashing, consensus mechanisms, and the major technical decisions behind the blockchain.

Code Changes from EIP712

You can take a look at the Ethereum Node source code here (LINK) and view the commit history to see examples of what working on the chain is like. If you are unsure if you want to start here, I would highly recommend further reading down. This option will be self evident to the proper people.

Smart Contract Programming

The next layer up from the blockchain itself is learning to write smart contracts, or how to tell the blockchain to do something for you programmatically. The Ethereum Network consists of all the computers running Ethereum Nodes, which in turn have their own Ethereum Virtual Machine on them. Your smart contract will be programmed towards this virtual machine and can have it perform many actions to get to the desired end state of the program. As each Ethereum Node is a valid member of the network in sync with other nodes thanks to consensus, any of them can run the smart contract you submit to them on a new block in the chain, and indeed each node will need to run your contract to agree upon the end state of the network after a block is mined and the process repeats.

In order to gain access to this computing network Ether is used to pay for all expenses in this operation. After all, if it was free to store and compute on the network it would quickly end up being useless due to spam and the low value returned to miners and nodes. Gas is the the perfect encapsulation of this expense on the network, for it costs *something* to store data and to execute a program on the network, and those costs must be accounted for. When you make a smart contract you must store it on the network in order to access it and execute it. Once that is done you are then able pay ETH to have it modify the state of the network (e.g. pay someone, withdraw money, etc..), however read operations (get a wallet balance, get the value of a variable) are free as they do not affect state. More on smart contracts here (LINK).

Advanced Smart Contract programmer try to build their programs with the maximum amount of gas savings by choosing efficient methods to reduce their costs. Each operation in Ethereum Virtual Machine is explicitly described (see image below) in terms of cost that the user will incur to execute, with the overall costs scaled up or down depending on the congestion of the network. When interacting with the network it is important to keep this is mind as every unnecessary piece of code will cost you money.

Ethereum Method costs

Smart Contract programming can vary from easy (Hello World, basic DAOs, simple dApps) to extremely complex (DeFi contracts), so it is ideal for any sort of person. I highly recommend running Remix as a development environment to get started and play around. This is the easiest way to get started and the lowest cost to you as it is all simulated for free and provides a full developer environment. Once you are comfortable playing with Remix I suggest you move to deploy on the Rinkeby Network, which is a ETH testing network but also a live network that will give you the real environment to ensure your code is correct. This flow from Remix → Testnet → ETH Network is a common development approach to reduce any spending of real ETH.

As far as programming languages for the EVM, traditional wisdom would recommended Solidity as your first choice. However if you have Blockchain programming already in your belt, then Vyper or Yul can be considered. Try reading ERC 20 (Tokens) and ERC 721 (NFTs) smart contract program links below to get a feel for structure and design of a program. See the additional resources below to get started with smart contract programming.

Resources for learning EVM programming

  • Remix - Browser Based programming environment - Free

  • Ethereum Org Developer Docs - Free

  • Crypto Zombies - Free

    • Learn NFTs and Smart Contracts and build a DApp

  • The Complete Guide to Full Stack Ethereum Development - Free

  • OpenZeppelin Smart Contract Hacking Game - Free

  • OpenZeppelin Smart Contract Reference Implementations - Free

    • See ERC20, ERC721 for how Tokens and NFTs were implemented.

    • These are security hardened contracts, don’t reinvent the wheel!

  • Chainlink Smart Contract Developer Bootcamp - Free

  • Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial - Free - YouTube

    • Has some focus in Python, ignore if not desired

  • Ethereum Blockchain Developer Bootcamp With Solidity (2021) - Udemy - Variable Pricing - Video - $18.99 (try to get on sale)

    • Personally took this course and enjoyed it.

  • Crypto Dev Discord

  • Follow Patrick Collins on Twitter - Crypto Dev Advocate

  • Vitto Rivabella Tweet Thread

    Twitter avatar for @VittoStack
    Vitto Rivabella 🥑 @VittoStack
    Become a Blockchain developer today, and you'll never go hungry again. What is Solidity, how it works + Free Resources to become a Web3 developer. A thread ↓
    4:14 PM ∙ Feb 14, 2022
    2,095Likes533Retweets

Keep reading with a 7-day free trial

Subscribe to The Bit Shift to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 BowTiedCrocodile
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share