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.

See also  What Is The Elrond Blockchain ($EGLD) ?

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