I’m not yet an expert in Solidity, but I use the word often in most of my articles-because of the profound role it plays in blockchain development. I thought it’s wise to shed more light on it. Solidity is still very much in its infant stage and there’s always a new release coming out virtually every week. There’s limited content for learning this language online, so my best advice is to use the documentation soliditylang.org
What is Solidity?
Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum Virtual Machine. Solidity’s contracts are similar to JavaScript classes. Its main purpose is for developing smart contracts for the Ethereum blockchain.
Can a beginner learn Solidity?
If your goal is to code Dapps, you will need to learn solidity. Its syntax might look simple but it is definitely not. As a beginner, it is not easy to find beginners level tutorials.
Which coins use Solidity?
Some of the coins that us Solidity to create smart contracts are Binance Coin (BNB), Binance USD (BUSD), PancakeSwap (CAKE), Venus (XVS), and other BEP-20 tokens. Binance Smart Chain is the second most popular decentralized app ecosystem after Ethereum
How long does it take to learn Solidity?
If you understand how programming works, it can take up to six months – but if you have no ideas about programming, I honestly don’t know how long it will take, it all depends on your learning capacity
Where can I learn solidity?
Some of the few resources online were you can learn solidity are
- Udemy.com: The Complete Developer’s Guide to Ethereum and Solidity. …
- Ethereum.org: Create a Hello World Smart Contract in Ethereum.
- Udemy.com: Build A Hello World DApp with Solidity Smart Contracts. …
- bitdegree.org
- coursetro.com
- solidity.readthedocs.io
- ethernaut.zeppelin.solutions
How essential is a knowledge of Javascript to learning solidity/ethereum?
Most people will tell you that you can’t jump into solidity, that you need a sound JavaScript background as a prerequisite. Personally, I don’t think it is a prerequisite. Yes, solidity syntax is inspired by Javascript, but if you know any modern programming language and the thought pattern required to code it will help you more than just knowing the JS syntax.
Solidity is a different programming language, not Javascript senior brother – the most important thing is to be able to think like a coder. You can still learn Solidity with JavaScript or Python background.
The most important thing is to understand the environment in which Solidity works, which is Ethereum and its consensus mechanism – and I don’t see any way Javascript can help you with that.
Solidity is evolving rapidly.
There’s no up-to-date course on solidity, like I said earlier it is very hard to get updated resources on solidity online, this might change in the future – this is because solidity is a relatively young language and advancing at a rapid speed. At the moment there are regular non-breaking releases every 2-3 weeks, with approximately two breaking releases per year.
Solidity Github project, is where you can follow the implementation status of new features. You can see the upcoming changes for the next breaking release by switching from the default branch (`develop`) to the `breaking branch`. You can actively shape Solidity by providing your input and participating in the language design.
Data Types of Solidity Programming
Solidity supports all the common data types seen in other OOP languages, such as, Boolean, Integer, String, Modifier, Array.
Apart from that, Solidity programming allows you to “Map” data structures with enums, operators, and hash values to return values stored in specific storage places.
I’m still developing this article, if anything comes up will surely add to it. Let me know in the comment section if you learn’t something new
[…] A smart contract is a code snippet that can be deployed on a blockchain. It facilitates transactions between multiple users without the need for a third party. Smart contracts when deployed on a blockchain are immutable. […]