How to make the jump into coding Ethereum: Part 1

Jason Gong
4 min readSep 2, 2021

Origins and Smart Contracts

It was back in February and I was over at my brothers house where he first introduced me to NFT’s/digital art. The idea of unique digital art did not make sense to me in that moment, but a few weeks later I was hooked. It was like I was 12 again buying sports cards. Beside the nostalgia of collectables, this was something very new for me. This is buying art. I am a programmer and seeing the growth in the market along with just my interest in the digital art space made me see a real opportunity. What can be better than working on cutting edge technology that I believe in? And that is when I decided to make the jump into Ethereum.

In this article I will walk you through the steps that I took to learn the technology and offer suggestions as well to those who want to jump into Ethereum. For those that have a programming background already, the Ethereum network basically replaces the server side of your stack. There is a need to incorporate other technologies as well to connect everything together and make it all work, but we will get to that. For those who are not programmers, do not worry, just read on and I will explain what you need to know.

The crux of what Ethereum is used for comes from its smart contracts. What are smart contracts you ask? Without going into detail on its specifics, a smart contract is:

  • A program that runs on the Ethereum blockchain at a specific address
  • A type of Ethereum account that can send and receive transactions
  • A user with an Ethereum account is able to interact with a smart contract at its address. This interaction initiates the program that resides within the smart contract. And if that program is able to fully execute all of its commands that it was programmed for, it will. Otherwise, it will terminate the interaction and void all of its commands

That is Ethereum in three bullet points. To write a smart contract, Ethereum utilizes a programming language called Solidity. I was lucky and found very good information when starting out to learn the Solidity language and my suggestions do not differ much from the path I took.

A few bits of advice before we start:

  • There is no easy way to say it, but there is a lot to learn. There is no quick approach to it. As you start down this path, focus on learning and understanding the material. Know what every line of code does and how it works. After learning something that was especially hard, stop, become the teacher and teach it back to yourself.
  • Take notes on everything. Especially go into detail in notes on sections you found difficult. It is easy to work through a tutorial, it is hard to commit it to memory where you can recall it instantly. It is proven that the last thing you do before sleeping sticks much better in your mind. Have a quick study session of the days material before bed.
  • Read the documentation. Whatever you learn, reconfirm it by reading the section in the docs. A good developer will tell you that the docs are your friend. Along with affirming the knowledge, the docs lays out all there is to learn about the topic as tutorials do not always give you all of the information. The docs are the tutorial before people make a tutorial about it. I like to say tutorials show you the tools that the presenter likes to use. The docs shows you all the tools.

CryptoZombies — For a new or seasoned programmer, this tutorial with take a very hand holding approach to teaching you Solidity. If you are ok with a slower although extensive approach, this is definitely the way to go.

Solidity by example — There is where you go once you have a grasp on the language. There are very good example contracts. Take it slow and absorb how these contracts work. Reference your Solidity notes as much as possible.

This is a good start for those who want to take the plunge into learning how to write code for Ethereum. In the next few blogposts, I will walk through the other technologies needed to put it all together and make it work. Stay tuned.

Questions / Comments are as always welcome below.

Happy Coding!

See below for links to the rest of the series

--

--