A collection of awesome blockchain smart contract languages, resources and shiny things.
https://github.com/ethereum/solidity
Solidity is a statically typed, contract-oriented, high-level language for implementing smart contracts on the Ethereum platform.
https://github.com/move-language/move
Move is a programming language for writing safe smart contracts originally developed at Facebook to power the Diem blockchain. Move is designed to be a platform-agnostic language to enable common libraries, tooling, and developer communities across diverse blockchains with vastly different data and execution models. Move's ambition is to become the "JavaScript of web3" in terms of ubiquity--when developers want to quickly write safe code involving assets, it should be written in Move.
https://github.com/vyperlang/vyper
Vyper is a contract-oriented, pythonic programming language that targets theEthereum Virtual Machine (EVM).
https://github.com/paritytech/ink
ink! is aneDSL to write smart contracts in Rust for blockchains built on theSubstrate framework. ink! contracts are compiled to WebAssembly.
https://github.com/ethereum/fe
Fe is an emerging smart contract language for the Ethereum blockchain.
Fe is a statically typed language for the Ethereum Virtual Machine (EVM). It is inspired by Python and Rust which makes it easy to learn -- especially for new developers entering the Ethereum ecosystem.
https://github.com/FuelLabs/sway
Sway is a language developed for the Fuel blockchain. It is heavily inspired by Rust and aims to bring modern language development and performance to the blockchain ecosystem.
https://github.com/onflow/cadence
Cadence is a resource-oriented programming language that introduces new features to smart contract programming that help developers ensure that their code is safe, secure, clear, and approachable.
https://github.com/starkware-libs/cairo
Cairo is the first Turing-complete language for creating provable programs for general computation.
Cairo becomes Rusty! Check by yourself!
https://github.com/starkware-libs/cairo-lang
StarkNetis a permissionless decentralized ZK-Rollup operating as an L2 network over Ethereum, where any dApp can achieve unlimited scale for its computation, without compromising Ethereum’s composability and security.
Cairois a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly.Cairoand similar proof systems can be used to provide scalability to blockchains.
StarkNet uses theCairoprogramming language both for its infrastructure and for writing StarkNet contracts.
https://github.com/rust-lang/rust
Empowering everyone to build reliable and efficient software.
https://github.com/dfinity/motoko
A safe, simple, actor-based programming language for authoringInternet Computer (IC) canister smart contracts.
https://en.bitcoin.it/wiki/Script
Bitcoin uses a scripting system for transactions. Forth-like, Script is simple, stack-based, and processed from left to right. It is intentionally not Turing-complete, with no loops.
A script is essentially a list of instructions recorded with each transaction that describe how the next person wanting to spend the Bitcoins being transferred can gain access to them. The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide
- a public key that, when hashed, yields destination address D embedded in the script, and
- a signature to prove ownership of the private key corresponding to the public key just provided.
https://github.com/matter-labs/zinc
Zinc is an emerging framework for developing smart contracts and SNARK circuits on the zkSync platform.
https://github.com/ethereum/yul-isabelle
The Yul language is designed to be integrated with a machine language, such that Yul captures control-flow and variable-assignment, and the machine language's primitives capture the remaining functionality.