What is Solidity, and how is it related to blockchain? This Solidity tutorial reveals that this language is object-oriented, statically typed and meant for creating smart contracts.
Solidity Tutorial: Main Tips
- Solidity programming language creates smart contracts for blind auctions, crowdfunding, voting, etc.
- Updates and upgrades are frequently released for Solidity. Currently, the latest version is 0.5.x.
Smart contracts consist of instructions and rules, governing the interactions between them. To write them and become a Solidity developer, you must be familiar with the basics of Ethereum Virtual Machine (EVM) and blockchain.
Solidity is a language to create contracts commonly used for:
- Crowdfunding: creating new projects, reviewing existing projects, funding projects with Ether, and retrieving of collected funds.
- Auctions: allows creating both open and blind auctions. However, blind auctions reveal bids only after the bidding ends.
- Voting: guarantees transparency and creates one contract per ballot.
- Multi-signature wallets: contains the instructions and rules for fund management and transfer. It needs permission from multiple participants before the manipulation of funds can occur.
Note: Solidity language is used for EVM, supports libraries, inheritance, and user-defined types.
New Solidity versions are released regularly as their support team constantly fixes bugs and implements other necessary changes. Pay attention when new Solidity updates come out and review the significant modifications. Currently, the latest version of Solidity is 0.5.x.
Theory is great, but we recommend digging deeper!
Brief Overview of Solidity Syntax and Compilers
For practicing Solidity programming skills, we recommend using Remix. However, there are other options to choose from. It is also possible to install a compiler such as solcjs on computers or use binary packages.
Note: every account has storage, a persistent memory area for mapping 256-bit words to 256-bit words. Modification or reading of storage is expensive, and enumeration of storage is impossible.
This Solidity tutorial also introduces you to the main concepts that you will see during your learning process:
- Smart contract: a collection of code located at a certain address on the Ethereum blockchain and containing functions and data.
- Transaction: sets of modifications to be applied to the state of the blockchain.
- Blockchain: a public transactional database, storing records of transactions made in various cryptocurrencies.
- Ethereum Virtual Machine: the platform for smart contracts in Ethereum.
- Gas: a factor to calculate and limit the work for the execution of transactions and smart contracts. The initiator of the transaction decides the price for gas and pays it from the sending account.
- Mapping: a way to structure value types (integers, addresses, structs, and booleans) and similar to hash tables.
Solidity Tutorial: Summary
- Smart contracts are created with Solidity which is used for EVM. Contracts are for voting, blind auctions, crowdfunding, etc.
- Track updates of Solidity in their official website. The newest Solidity version is 0.5.x.