What is Solidity

Solidity is a programming language to write code for Ethereum based blockchain applications. The code is popularly known as smart-contract and the application is referred as Dapps or Decentralized Apps.

About

Solidity is High LevelStatically typedObject-oriented programming language inspired from C++, JavaScript and Python. It’s one of the recently developed programming languages, which is in it’s nascent stage (as of Jan, 2022) having current version as 0.8.11. You can always check the latest version here. You can use solidity to write smart contracts (which is simply a code written in solidity) for Ethereum blockchain or any other compatible blockchains such as Binance Smart Chain (BSC), Ethereum ClassicTronAvalanchePolygon and few others.

Properties of Solidity

  • Turing complete : It can theoretically complete any task that is given to it.
  •  Object oriented : supports inheritance
  •  Statically typed : Data type has to be assigned during the declaration
  •  Curly-bracket language – similar to JavaScript, TypeScript etc..
  •  Supports Native Data types as well complex user defined data types

IDE for Solidity

  • Remix : Official online IDE
  •  Brownie : Python based dev framework
  •  Truffle : Ethereum development framework based on JavaScript
  •  Hardhat : Ethereum development environment with local Ethereum network

How it works

Step 1: You write a smart contract Step 2: Compile it

  • The compiler will generate three files
    • Contract Metadata : JSON file having info such as input, output, data types, compiler version and so on.., of the contract
    • Bytecode : Hexadecimal data with opcode, which gets deployed on the EVM (Ethereum Virtual Machine) -> EVM powers the Ethereum blockchain
    • ABI : Application Binary Interface, helps to interact with another contracts on the blockchain as well as from outside the blockchain. Step 3: Deploy the Bytecode & ABI, on a Target blockchain (Real – Mainnet/Testnet or Simulated environment such as browser)
  • ABI stays in the EVM while Bytecode gets deployed at the blockchain. This ABI helps to interact with the bytecode.

Application

  •  Self executing contracts – Smart contracts
  •  NFT : Non Fungible Token
  •  Cryptocurrency : Fungible Token
  •  Dapps : Decentralized applications
  •  DeFi : Decentralized finance
  •  Tokens : To share, exchange, stake

How did you like the content

Scroll to Top