Home » The Best Solidity Courses

The Best Solidity Courses

It’s a good moment to start to learn Solidity: what are the best Solidity courses? First, let’s get this straight about it: yes it pays.



In short, Solidity is an object-oriented programming language for implementing smart contracts on various blockchain platforms, most notably, Ethereum. Now, what are our selection of courses?

Ledger Wallet

1. The Linkedin Course: Short And Sweet

The Linkedin solidity class is short but efficient for a beginner to understand the concepts of smart contracts and the basics of solidity (variables, loops, etc):



“This course teaches you how to build a simple contract-based application with Solidity. Emmanuel Henri starts with the basics of blockchain and smart contracts: self-executing transactions written directly in code”. It’s one of the best Solidity courses online.


2. The Udacity Course: In Depth Training

The Udacity course is way more in depth. It has different modules with hours of videos and hands-on exercises. It will take you 4 months to complete:


“Demand for blockchain developers is skyrocketing. In this program, you’ll work with the Bitcoin and Ethereum protocols, build projects for real-world application, and gain the essential skills for a career in this dynamic space.”. Another one of the best solidity courses out there.

3. The Udemy Course: A Good Trade-Off

The Udemy course is a good introduction to use Solidity and Smart Contracts to build production-ready dapps:

“Use Ethereum, Solidity, and Smart Contracts to build production-ready apps based on the blockchain”

4. Some Examples of Smart Contracts in Solidity

How about a quick example to demystify Solidity?

Here is an example to decrement or increment the store of a contract defined as Counter:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

contract Counter {
    uint public count;

    // Function to get the current count
    function get() public view returns (uint) {
        return count;
    }

    // Function to increment count by 1
    function inc() public {
        count += 1;
    }

    // Function to decrement count by 1
    function dec() public {
        count -= 1;
    }
}

Indeed, you can define a contract with a contract keyword which allows you to define a class and you can attach methods to it. Here, we handle a counter that will keep track of the number of items in its store.

Another example is a contract to create an Ethereum wallet:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

contract EtherWallet {
    address payable public owner;

    constructor() {
        owner = payable(msg.sender);
    }

    receive() external payable {}

    function withdraw(uint _amount) external {
        require(msg.sender == owner, "caller is not owner");
        payable(msg.sender).transfer(_amount);
    }

    function getBalance() external view returns (uint) {
        return address(this).balance;
    }
}

It’s getting a bit closer to a real world case: an owner, a withdrawing method, a receiving method and a balance check method.

5. Why Solidity And Not Another Language?

Whether you like Ethereum or not, Ethereum and Solidity are the winners on the job market at the moment. Hence, learning Solidity makes sense: the ecosystem has the biggest population of developers as I’m showing in this article.


Thanks for reading.

Disclaimer: this is not financial advice

Related Posts

Leave a Comment