How To Learn Solidity In 2024 (2024)

How To Learn Solidity In 2024 (2)

I suppose you know by now, what Solidity(the programming language) is all about.

Just in case you do not, no worries as I’ll be explaining that in just a bit.

For short, Solidity is a programming language that is used for building smart contracts.

Smart contracts are autonomous computer programs that are executed in a decentralized manner — without the need of a centralized or third-party entity. They are basically sets of computer codes that control the execution of
agreements/transactions on top of blockchains.

To give you a first-hand look of how smart contracts are written in Solidity, just below is some Solidity smart contract code. The code shows how to use variables, structs(a data type), functions and a lot more in Solidity.

As can be easily deduced, the smart contract creates a new user(programmaticPerson), provides for assigning certain data to the
person(through the person struct), and then also provides for obtaining those individual data (that were added) about the person.

// solidity code

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract PracticeContract {
uint private myNumber;

struct PersonStruct {
string name;
uint favouriteNumber;
bool isMale;
}

PersonStruct private programmaticPerson;

function setPerson(
string memory _name,
uint _favouriteNumber,
bool _isMale
) public {
programmaticPerson = PersonStruct({
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
});
}

function getProgrammaticPerson() public view returns (PersonStruct memory) {
return programmaticPerson;
}

// Function to get the name of the programmatic person
function getProgrammaticPersonName() public view returns (string memory) {
return programmaticPerson.name;
}

// Function to get the favorite number of the programmatic person
function getProgrammaticPersonFavouriteNumber() public view returns (uint) {
return programmaticPerson.favouriteNumber;
}

// Function to get the gender of the programmatic person
function getProgrammaticPersonGender() public view returns (bool) {
return programmaticPerson.isMale;
}
}

In this article, I’ll be sharing some important details about Solidity, and also giving you some pro-guidance on how best to approach learning Solidity — especially if you want to become a blockchain/smart-contract developer in 2024.

I’ll be using the above code snippet more in this article, so as to help your understanding and drive home the message a lot better.

According to the Solidity website,

Solidity is “A statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum"

Even though Solidity can also be used on Solana as explained
in this article, Solidity was primarily created for programming smart contracts on Ethereum.

Now that you’ve gotten a good introduction as to what Solidity is all about, Let’s move on to explaining how you should approach earning solidity in 2024 — especially if you’re intending to become a smart contract developer.

This article is best suited for folks who are totally new to programming — especially those who are just at the beginning of their software engineering/development careers — with Solidity as their first programming language. It’s also a perfect resource for folks who have some programming experience, but have not learnt or used Javascript earlier.

It’s also important to note that the inspiration for this article came from my personal experience. I hope my experience helps you discover a better approach that empowers you to learn Solidity in a way that will be more rewarding.

Below are some key notes to consider if you wish to Learn Solidity for smart contract development in 2024.

1. Learn Javascript first.

The main reason why I recommended this, is the fact that:

- As a Solidity developer, you will most likely need Javascript when working with your smart contracts.

Whether you’re a seasoned programmer with experience in working with different programming languages, or just a starter in the tech space. As long as you intend to become a smart contract developer, learning Javascript is a task you’ll hardly escape.

A practical example of this, is when working with Hardhat. Hardhat is a javascript-based smart contract development framework/suite that provides blockchain developers with the necessary stack of tools they need to work with smart contracts. It is an all-in-one tool for developing, testing, deploying and even interacting with smart contracts.

In the case of using Hardhat, even though your smart contracts are written in Solidity, you will still need Javascript to write you test and script like your deployment script(s), or scripts to interract with functionalities provided in the smart contact.

Furthermore, when it comes to interacting with your smart contracts(especially in a front-end application) after deploying them, you’ll still need libraries likely Ethers js and Web3 js or more robust tools like Moralis and Wagmiwhich are all Javascript-based.

It’s all boils down to the fact that — you’ll certainly need Javascript at one point or the other in your career as a blockchain developer.

You might still be wondering why you need to “learn Javascript first” — this next point addresses that.

- Javascript is a simpler and loose programming language — hence will be easier to learn than Solidity.

Javascript is a simple programming language. To add to this is the fact that it is also a dynamically typed (you don’t need to declare types) and loosely typed(it’s ability to do ”super-silly” things like adding/concatenating a string to/with a number) programming language, unlike Solidity which is a statically-typed programming language.

All these disadvantages of using Javascript, do serve as potential advantages to folks who are learning it for the first time. The loose and dynamically-typed nature of Javascript saves you from a “nosy tantrum-throwing compiler” that keeps complaining about your code until you get it right. Those complaints can be frustrating — especially for newbies.

The third reason why it’s a good idea to learn Javascript before Solidity has to do with similarity in syntax.

- Solidity is quite similar to Javascript syntax-wise.

The two code snippets below, show how to write two selected functions from the above smart contract in both Solidity and Javascript.

// solidity code

// SPDX-License-Identifier: MIT

...

function setPerson(
string memory _name,
uint _favouriteNumber,
bool _isMale
) public {
programmaticPerson = PersonStruct({
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
});
}

function getProgrammaticPerson() public view returns (PersonStruct memory) {
return programmaticPerson;
}

...

// javascript code

...

function setPerson(
_name,
_favouriteNumber,
_isMale
) {
programmaticPerson = {
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
};

/* do something with programmaticPerson like
using it to update a database, then 'returning' to end the function*/
}

function getProgrammaticPerson() {
return programmaticPerson;
}

...

The code snippets above reveal very practically — the similarity in syntax between Javascript and Solidity.

Both syntaxes are very similar — except for some extra foreign/unique concepts in both languages like how they declare variables differently, types and return-types, visibility, and storage — all in solidity, and more other differences.

Combining the above factor about syntax-similarity and the previous ones — especially the one about Javascript being easier to learn, it’s simply a no-brainer to learn Javascript before taking on Solidity.

2. Learn Typescript next.

After learning Javascript, there’s still one more hurdle I recommend that you cross before proceeding to learn Solidity. That is Typescript.

If you’re not new to software development, I bet you’ve heard about Typescript by now. But Just in case you have not;

Typescript is a superset of Javascript. Not really a “programming language” Per se. but more like a tool/compiler that serves as a type-checking wrapper for Javascript.

The term superset of Javascript simply means that every Javascript is
valid Typescript. Typescript simply improves Javascript by introducing types, hence serving as a statically-typed version of Javascript that makes up for it’s shortcomings.

Below are three code snippets showing a similar way to write the same code in Javascript, Typescript, and Solidity.

// javascript code

...

let programmaticPerson

function setPerson(
_name,
_favouriteNumber,
_isMale
) {
programmaticPerson = {
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
};

/* do something with programmaticPerson like
using it to update a database, then 'returning' to end the function */
}

...

// typescript code

...

type Person = {
name: string;
favouriteNumber: number;
isMale: boolean;
}

let programmaticPerson: Person;

function setPerson(
_name: string,
_favouriteNumber: number,
_isMale: boolean
): void {
programmaticPerson = {
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
};

/* do something with programmaticPerson like
using it to update a database, then 'returning' to end the function */
}

...

// solidity code

...

struct Person {
string name;
uint favouriteNumber;
bool isMale;
}

Person private programmaticPerson;

function setPerson(
string memory _name,
uint _favouriteNumber,
bool _isMale
) public {
programmaticPerson = Person({
name: _name,
favouriteNumber: _favouriteNumber,
isMale: _isMale
});
}

...

As can be seen after a close look at all three code snippets above, it obviously can be deduced that the Typescript code looks more like Solidity.

This makes so much sense.

Even though learning Typescript before Solidity is very important(especially in today’s current JS/TS ecosystem where Typescript
is more prefered to Javascript, due to the fact that it helps to write more robust and reliable code), it will still not be a compulsory recommendation that you learn Typescript before Solidity — as long as you already know or can use another statically-typed programming language.

If you do not have a previous experience of working with any statically-typed programming language, then I’ll say you should take out some time and learn Typescript before proceding to learn Solidity. A week or two of hardwork should be more than enough for that.

Solidity will appear harder and more-complex to learn — if you know only Javascript(or only another dynamically typed programming
language). The main reason for that is the static-typing in Solidity.

Having to work with types for the first time can be challenging. And I really won’t recommend that you learn to do that with a programming language like Solidity.

The summary here is very simply: Learn Javascript first due to all the facts explained earlier, then learn typescript since the transition process from Javascript to Typescript will be pretty easier.

3. Proceed to take some Solidity crash courses.

Now you’re ready to take on Solidity.

But from my years of experience with learning programming languages and/or tools,libraries and frameworks, I still won’t recommend that go “right all in” just yet.

I’ll suggest that you start with a crash course first.

Look around for some(at least 3) Solidity crash content or courses(videos, articles, PDFs or whatever, —
videos should not exceed 2 hours) and go through them.

By taking a crash course, you’ll easily get a good grasp of foundational concepts. This will also help you get coding and building real projects faster — which in turn increases/improves the fulfillment level and makes the learning process more rewarding.

This Learn Solidity in 20 Minutes! video from the Dapp University Youtube channel] is one gem of a resource that I’ll recommend to anyone who is working or intending to work with Solidity — Whether a complete newbie or a good-ole blockchain pro.

How To Learn Solidity In 2024 (3)

Do look it up.

4. Go all in — into the rabbit-hole.

If you follow the blue-prints in this article from scratch, at this point(after following points 1,2 and 3), you will be good with smart-contract to a certain degree already.

Now you can go all in and take any Solidity developer course — irrespective of how monsterous the course may be.

With respect to recommended courses, two awesome ones will be.

1. The Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript— 32-Hour Course by Patrick Collins.

How To Learn Solidity In 2024 (4)

2. The 3 part Learn Solidity, Blockchain Development, & Smart Contracts | Powered By AI — Full Course
also by Patrick Collins.

Both of these course(individually — which ever you choose) are more than enough to make you a world class blockchain developer. And best deal — “all for free on Youtube”

Wrapping up.

There you have it friends, I’ve done my best in this article — sharing from my learnings: “The best way I think possible, to learn Solidity in 2024”.

I hope it helped/helps.

Cheers!

This post was originally published on the Web3 Mastery Website. Explore Web3 Mastery for more awesome content like this article.

How To Learn Solidity In 2024 (2024)

FAQs

Is it worth learning Solidity in 2024? ›

Solidity, the programming language used for creating smart contracts on Ethereum, is crucial for anyone looking to dive into the world of Blockchain development. This article will outline the fundamental knowledge, skills, and steps needed to become a proficient Solidity developer in 2024.

How to learn Solidity easily? ›

Professionals with experience in programming concepts and coding languages can usually learn Solidity in 1-6 months. If you have no programming experience, it may take longer. Beginners can take advantage of platforms like CryptoZombies or other free online courses to build a foundation for advanced classes.

How long will it take to learn Solidity? ›

If you've already had previous experience with coding in languages such as JavaScript, C++, and/or Python, you'll most likely find it easy to learn Solidity within weeks to several months of intensive study. However, if you have no experience in programming, it might take you from 6 months to a year.

Is it still worth it to learn Solidity? ›

Yes, it is worth learning Solidity. Solidity is a powerful language that can be used to create a variety of decentralized applications.

Which language is best to learn 2024? ›

Best languages to learn in 2024
  • English. English is still one of the best languages to learn as it is the official dialect of significant countries such as New Zealand, Australia, the United Kingdom, and the United States of America. ...
  • Korean. ...
  • Mandarin Chinese. ...
  • 4. Japanese. ...
  • Portuguese. ...
  • French. ...
  • Indonesian. ...
  • Spanish.
Feb 1, 2024

Which programming language is demand in 2024? ›

Additionally, DevJobsScanner, which analyzed over 12 million job requirements, identified that JavaScript/TypeScript, Python, Java, C++, and Ruby are the most in demand. Therefore, these 12 languages are likely to be the ones to learn in 2024.

Can I get a job if I learn Solidity? ›

The technology is constantly being updated and skilled practitioners can become beginners overnight. Use this as motivation if you're new to the solidity development scene. Even if you don't have that much experience you can still land a huge role at a company if you have the skills.

How much do Solidity coders make? ›

Solidity Developer Salary
Annual SalaryMonthly Pay
Top Earners$148,500$12,375
75th Percentile$135,500$11,291
Average$120,804$10,067
25th Percentile$105,000$8,750

Is Solidity well paid? ›

How Much Do Solidity Developers Earn? Solidity Developers make an average of $130k per year, with a minimum base pay of $60k and a maximum base salary of $250k. The average hourly salary for a Solidity Developer is $68, the lowest hourly rate is $40, and the highest hourly rate is $130+.

Is Solidity still in demand? ›

The demand for specialists versed in Solidity is steadily growing as blockchain technology is becoming in demand in more and more different areas of life. The career of a Solidity developer requires dedication and many skills, but it offers numerous benefits as well.

Should I learn Python or Solidity? ›

Starting with Solidity is recommended as it's specifically designed for writing smart contracts on Ethereum. However, understanding Python and JavaScript can be beneficial for front-end development and testing.

Can a non coder learn Solidity? ›

Yes, you can learn Solidity directly by studying its documentation, online courses, and practice coding. Having prior programming experience may help, but it's not a strict requirement.

Should I learn blockchain in 2024? ›

Absolutely! Learning blockchain in 2024 opens doors to exciting career paths and allows you to play a role in technological advancements impacting diverse sectors. The investment you make in acquiring these skills has the potential to pay off handsomely in the years to come.

What is the best way to learn Solidity? ›

Ways to Learn Solidity
  1. Learn Solidity with Online Courses. Online courses are a great way to learn Solidity if you want more structure and guidance than tutorials provide. ...
  2. Learn Solidity with an Ethereum Bootcamp. ...
  3. Learn Solidity with Tutorials. ...
  4. Solidity ABI. ...
  5. Smart Contracts. ...
  6. Functions. ...
  7. Arrays. ...
  8. Mappings.
Sep 22, 2023

Is there a shortage of Solidity developers? ›

Supply and Demand Dynamics: There is currently a shortage of skilled Solidity developers in the market. This imbalance between supply and demand has led to higher salaries and greater job opportunities for Solidity developers.

Should you learn blockchain in 2024? ›

Absolutely! Learning blockchain in 2024 opens doors to exciting career paths and allows you to play a role in technological advancements impacting diverse sectors. The investment you make in acquiring these skills has the potential to pay off handsomely in the years to come.

What is the future of Solidity? ›

Enhanced Security Features: Future versions of Solidity are expected to include more built-in security features like automated vulnerability detection and formal verification. These improvements aim to mitigate security risks and make smart contract development safer.

Is Solidity in high demand? ›

The demand for Solidity developers is expected to continue to grow exponentially as more businesses and organizations adopt blockchain technology. This is due to the increasing complexity of DApps and the need for experienced developers to build secure and scalable smart contracts.

Top Articles
Superannuation Income Stream - Retirement Income
How Much Does a Funeral Cost? (2024)
Radikale Landküche am Landgut Schönwalde
NYT Mini Crossword today: puzzle answers for Tuesday, September 17 | Digital Trends
Genesis Parsippany
Ghosted Imdb Parents Guide
News - Rachel Stevens at RachelStevens.com
Davante Adams Wikipedia
What Auto Parts Stores Are Open
Tx Rrc Drilling Permit Query
4302024447
George The Animal Steele Gif
How to Store Boiled Sweets
7543460065
Snow Rider 3D Unblocked Wtf
What is Rumba and How to Dance the Rumba Basic — Duet Dance Studio Chicago | Ballroom Dance in Chicago
Straight Talk Phones With 7 Inch Screen
Walmart stores in 6 states no longer provide single-use bags at checkout: Which states are next?
Lazarillo De Tormes Summary and Study Guide | SuperSummary
Project, Time & Expense Tracking Software for Business
Chaos Space Marines Codex 9Th Edition Pdf
Optum Urgent Care - Nutley Photos
Riversweeps Admin Login
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
11526 Lake Ave Cleveland Oh 44102
Mami No 1 Ott
Neteller Kasiinod
Primerica Shareholder Account
Bad Business Private Server Commands
Beaver Saddle Ark
Luciipurrrr_
Haley Gifts :: Stardew Valley
Rocketpult Infinite Fuel
Usf Football Wiki
Jewish Federation Of Greater Rochester
Can You Buy Pedialyte On Food Stamps
Finland’s Satanic Warmaster’s Werwolf Discusses His Projects
Game8 Silver Wolf
Review: T-Mobile's Unlimited 4G voor Thuis | Consumentenbond
Xxn Abbreviation List 2023
The best specialist spirits store | Spirituosengalerie Stuttgart
Top 40 Minecraft mods to enhance your gaming experience
Unlock The Secrets Of "Skip The Game" Greensboro North Carolina
Marcal Paper Products - Nassau Paper Company Ltd. -
Ohio Road Construction Map
Contico Tuff Box Replacement Locks
Race Deepwoken
Hcs Smartfind
라이키 유출
Adams County 911 Live Incident
Latest Posts
Article information

Author: Otha Schamberger

Last Updated:

Views: 5961

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Otha Schamberger

Birthday: 1999-08-15

Address: Suite 490 606 Hammes Ferry, Carterhaven, IL 62290

Phone: +8557035444877

Job: Forward IT Agent

Hobby: Fishing, Flying, Jewelry making, Digital arts, Sand art, Parkour, tabletop games

Introduction: My name is Otha Schamberger, I am a vast, good, healthy, cheerful, energetic, gorgeous, magnificent person who loves writing and wants to share my knowledge and understanding with you.