If you are considering investing time in learning about blockchain, it can seem a weighty undertaking. There are a multitude of blockchain variants such as Bitcoin, Ethereum, Litecoin, and Dogecoin, and the terminology can be just as confusing.
Four general types of blockchain networks are in use today: public, private, consortium, and permissioned. Each has its own rules as to who may administer the blockchains and who can participate as a node.
Of the blockchain variants, Ethereum is appealing due to its community-driven nature, and it allows for many use cases including DeFi (decentralized finance), DApps (decentralized applications), and NFTs (non-fungible tokens).
To begin working with Ethereum, I started looking for tutorials, and there are certainly a lot of them. I visited several sites that turned up in my searches. I began at ethereum.org, where it bills itself as the programmable blockchain.
The learning section on the Ethereum website contains well over 150 tutorials, and Solidity has over 40 entries.
In no particular order, the following tutorials are among the most notable I found during my search.
Gregory McCubbin’s tutorial at Dapp University is a short tutorial for beginners, covering the basics of creating smart contracts. It doesn’t linger on terminology and history but starts Solidity coding examples right away in the Remix IDE.
So if you are eager to see Solidity in use, this quick tutorial (about an hour and a half) gets straight to the point.
Topics covered are language-related, such as constructors, data types, internal functions, etc. This is a good tutorial for following along in an editor.
I tried taking notes on paper, but decided better of it and resorted to my laptop. The examples are easy to understand if you are already familiar with programming concepts, and the videos are short, about 15 – 20 minutes each.
If you just want to get exposure to Solidity, you may find it worth the time, just don’t expect to use the code immediately.
The examples in this tutorial are meant for explaining a few of the intricacies of Solidity, and is a small investment of your time to see what Solidity looks like with a few use cases.
npm, the Node Package Manager.
This is a straightforward, text-based tutorial.
You step through installing the environment, setting up a project, compiling a Solidity contract, and deploying it on the local network. While you will need more knowledge of the Solidity language to write contracts and Dapps, this tutorial will help you set up your framework.
Another text-based tutorial is at w3schools.io.
It is more akin to documentation and use cases. It doesn’t appear to be up to date, and uses varying Solidity versions.
While there is no actual contract or Dapp built, the tutorial covers almost all of the features and keywords of the Solidity language.
For instance, source code comments can be inline or block format like C++, and currency units are Wei, Finney, szabo, and ether. I only listed this one for its brevity and still relevant information.
Most beginners would probably want to check out this tutorial hosted at Ethereum.org.
The only criticism is the need to create multiple 3rd party accounts, such as an Alchemy account for access to Web3 APIs and to generate an API key.
Hardhat is used as a console-based IDE, and online services Ropsten Etherscan and Metamask are used for blockchain testing and access to a crypto wallet, respectively. It is the most complete text-based tutorial I’ve read so far.
Part of a larger Blockchain tutorial for beginners, this tutorial steps through Solidity programming from the basics of pragma directives and data types to Smart Contract design patterns.
There are both textual and video components to this tutorial.
I found the video tutorial more instructive, while the textual content was good as a guide or outline.
If you learn by jumping in immediately, I suggest focusing on the video portion of this tutorial. In fact, if the thoroughness of this tutorial is any indication, the whole Blockchain playlist of 26 tutorials would be a very good starting point. It covers Etherium, Bitcoin, Dogecoin, Dapps, Merkle Tree, NFT vs. Crypto, and a lot more. It is current and last updated Feb 16, 2022.
From Tutorialspoint comes this tutorial for novices.
The course assumes prior knowledge of programming in general and some basic familiarity with blockchain.
It is a little dated, but it covers everything about Solidity.
Navigation is as easy as clicking a heading on the sidebar.
I was impressed with the amount of content, and this would make an excellent reference page for Solidity. It was like reading the C/C++ reference documentation. This is a text-only tutorial, and its primary mode of delivery is by example.
Once you start writing smart contracts in Solidity, this tutorial could be handy to refer back to.
This is the tutorial I would suggest starting with.
It is a year old, but there isn’t much code involved. It is a good introduction to Solidity and Ethereum in general. Compiler installation is covered, as well as Remix IDE and Docker images. A quick introduction to syntax is followed by types, variables, and a few use cases.
Coverage of Ethereum, EVM, and smart contracts is seldom included in the tutorials I’ve reviewed. The author delivers these details to help define what will be covered in this Solidity tutorial, a method called pre-learning in educational sciences.
This particular video covers some peculiarities in Solidity as a lottery smart contract is built. Remix IDE on the Ethereum site is used to sandbox the contract, so you can test functionality while refinements are made. This video succeeds in giving a good overview of Solidity basics in about 45 minutes.
The penultimate tutorial I considered for this article is from Part Time Larry, and is the third of a series of ten recent tutorials on smart contracts. The tutorial is organized as a series of posts at hackingthemarkets.com.
The posts each relate to a topic in current Web3 practices regarding smart contracts.
This particular post has the viewer follow along, writing a smart contract within a full-stack environment that is already in place. It’s a very thorough video with a textual component. Seeing the tools used helps the viewer become familiar with them as they move back and forth between editor and console.
This final tutorial comes from one of my favorite tutorial websites, freecodecamp.org. I think their work creating free tutorials to help people learn to code is exceptional.
This tutorial is exceptional as well, it’s sixteen hours of coursework packed into one video. I am still going through various parts, rewinding and reviewing areas I need to brush up on.
I will be using this course for a few months I’m sure.
Almost everything in all the other videos is covered here with some additional content. In addition to that, Python is used in this course, so it is relevant to my current endeavors as a Python developer.
This tutorial/course should be considered if the previous tutorials were interesting and you are thinking about working in this niche as a developer.
I hope these tutorials are useful, and shed some light on what Solidity is used for.
Most simply touch on what Solidity and smart contracts are, but a few of them are full courses.
Whatever the level of interest you have in blockchain and Ethereum, with the investment of a little time, you are sure to find something of note in them.
Feel free to join our Become Freelance Developer Course if you’re interested in creating your own thriving coding business from the comfort of your own home.
Solidity is the programming language of the future.
It gives you the rare and sought-after superpower to program against the “Internet Computer”, i.e., against decentralized Blockchains such as Ethereum, Binance Smart Chain, Ethereum Classic, Tron, and Avalanche – to mention just a few Blockchain infrastructures that support Solidity.
In particular, Solidity allows you to create smart contracts, i.e., pieces of code that automatically execute on specific conditions in a completely decentralized environment. For example, smart contracts empower you to create your own decentralized autonomous organizations (DAOs) that run on Blockchains without being subject to centralized control.
NFTs, DeFi, DAOs, and Blockchain-based games are all based on smart contracts.
This course is a simple, low-friction introduction to creating your first smart contract using the Remix IDE on the Ethereum testnet – without fluff, significant upfront costs to purchase ETH, or unnecessary complexity.