Smart Contract is a stateful program that runs on top of blockchain network. Smart Contract is stateful because each smart contract have its own storage to read data from and write data to the blockchain network.
Just like any program, Smart Contract takes some inputs, process the inputs and produce and output. Unlike any program, smart contract is decentralized and no one can halt the execution of the smart contract, especially on the secure blockchain network such as Ethereum.
Anyone can write their own Smart Contract. There are various programming languages to create the Smart Contract.
For the incomphrensive list of programming language and its blockchain target, see the table below:
| Programming Language | Target |
|---|---|
| Solidity | EVM (Ethereum Virtual Machine) |
| Vyper | EVM (Ethereum Virtual Machine) |
| Huff | EVM (Ethereum Virtual Machine) |
| Rust | Solana Sealevel |
| Move | Aptos |
| Zinc | zkEVM (zksync) |
| Sway | FuelVM |
The most popular programming language to write smart contract is the Solidity and the most widely use smart contract execution platform is the EVM (Ethereum Virtual Machine).