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.
💡 Info: Solidity is a high-level, object-oriented language for creating smart contracts (smart contracts are essentially the code or programs stored in the blockchain when sent from a wallet, whereupon the code executes), and is similar in appearance to Python or JavaScript.
In no particular order, the following tutorials are among the most notable I found during my search.
Solidity for Beginners: Smart Contract Development Crash Course
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.
Solidity Tutorial: How to Create NFTs with Hardhat
Learn how to leverage Node.js to build Ethereum Dapps and smart contracts. If you are a JavaScript programmer, this tutorial steps you through the process of installing and configuring a Hardhat development environment with npm
, the Node Package Manager.
This is a straightforward, text-based tutorial.
There is little Solidity code, but the point is to avail yourself of the tools needed to write Solidity in a local, console-based, JavaScript IDE.
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.
Solidity Smart Contract Tutuorials
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.
Hello World Smart Contract
Most beginners would probably want to check out this tutorial hosted at Ethereum.org.
It is a full-stack guide using JavaScript and Solidity to build a Dapp.
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.
Complete Guide On Solidity Programming
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.
Learn Solidity: Absolute Beginners Solidity Tutorial
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.
Solidity Tutorial: A Detailed Introduction
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.
Smart Contract Tutorial: Create a lottery smart contract in Solidity
Block Explorer put out a series of videos on smart contracts on YouTube. The content is focused on smart contracts, but ventures into Web3.js, Chainlink, and Solidity among other topics.
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.
Web3 Tutorial: Solidity Smart Contracts
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.
Solidity Blockchain Smart Contracts: Beginner to Expert
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.
Conclusion
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.
Learn Solidity Course
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.