Rust-based toolkit for Ethereum smart contract development, with Forge, Cast, Anvil and Chisel for building, testing, and interacting with EVM chains.
argotorg/solidity
Solidity is a statically-typed, contract-oriented programming language for writing smart contracts on the Ethereum platform.
- Stars
- 25,758
- Forks
- 6,174
- Open issues
- 839
- Last commit
- 7 hours ago
What is it?
Solidity is a curly-brace, statically-typed language designed for smart contracts that run on the Ethereum Virtual Machine. Smart contracts are programs executed on a peer-to-peer network with no single party in control, which makes them suitable for tokens, ownership records, voting, and other logic that needs to run without a trusted intermediary.
This repository contains the Solidity compiler, which is the reference implementation of the language, written in C++. The project is maintained by a core team under the Argot Collective and is still in its 0.x version series, with breaking changes and new features introduced regularly, so the latest released version is recommended for deployments.
Developers typically write contracts in an editor or use the browser-based Remix IDE, and the documentation hosted on the Solidity Language Portal covers building the compiler from source and includes example contracts such as voting, blind auctions, and micropayment channels.
Key features
- 01Statically-typed, contract-oriented syntax with a curly-brace style
- 02Compiles to bytecode for the Ethereum Virtual Machine
- 03Reference compiler implemented in C++
- 04Official documentation and example contracts are available
Use cases
- Writing token contracts or ownership registries on Ethereum
- Building on-chain voting or auction applications
- Learning how smart contract languages are designed and compiled
Quick start
- 1
Read the build instructions in the Solidity documentation
- 2
Try the language in the browser using Remix IDE
Things to know
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be open source under the same terms.
- The README gives no direct install command, so you must build the compiler from source following external docs.
- The project is version 0.x and introduces breaking changes regularly, so use the latest release.
Topics
FAQ
- What is solidity?
- Solidity is a statically-typed, contract-oriented programming language for writing smart contracts on the Ethereum platform. Solidity is a curly-brace, statically-typed language designed for smart contracts that run on the Ethereum Virtual Machine. Smart contracts are programs executed on a peer-to-peer network with no single party in control, which makes them suitable for tokens, ownership records, voting, and other logic that needs to run without a trusted intermediary.
- Is solidity free to use? What license does it have?
- solidity is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is solidity still maintained?
- Actively maintained. The last commit to solidity was on Oct 21, 2026.
- What can I use solidity for?
- Writing token contracts or ownership registries on Ethereum Building on-chain voting or auction applications Learning how smart contract languages are designed and compiled
- How do I install solidity?
- Read the build instructions in the Solidity documentation Try the language in the browser using Remix IDE
- Where can I get solidity?
- The source code and installation instructions are on GitHub: https://github.com/argotorg/solidity
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Sway is a Rust-inspired programming language for writing smart contracts on the Fuel blockchain.
The second edition of "Mastering Ethereum", a book covering Ethereum development, smart contracts, and the network's underlying technology.
Ethereum development environment for compiling, deploying, testing, and debugging smart contracts and dapps.
Chainlink core node and contracts for running a decentralized oracle network that brings real-world data and off-chain computation to smart contracts.
Go implementation of the Ethereum execution layer, running as a full or archive node with JSON-RPC access and developer tools.