{ skip to content }

{Solidity}

A statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum.
Read the docs
Repository
20.7K

Solidity is evolving rapidly

We aim for a regular (non-breaking) release every month, with approximately one breaking release per year. You can follow the implementation status of new features in the Solidity GitHub project.

Get started

Contribute to Solidity

Solidity continues to improve with help from our global community. Check out these ways to get involved and contribute to the Solidity project.

Reporting issues and vulnerabilities


To report an issue, please use the GitHub issues tracker. To report a vulnerability, please check out the instructions in the SECURITY.md.

Translating the documentation


Translations help developers from all corners of the world to be able to read the documentation and learn Solidity.

Fixing and responding to issues


Fixing and responding to issues, especially those tagged as “good first issue”, is a great way to get started for external contributors.

Contributing to language design


We welcome Solidity power users, auditors, security experts and tooling developers to get involved in the Solidity language design process. Join the Solidity forum, where existing properties of the language and proposals for new language features can be discussed.

Stay Updated

Stay always up-to-date by following the Solidity blog.

You can see the upcoming changes for the next breaking release by switching from the default branch (develop) to the breaking branch. You can actively shape Solidity by providing your input and participating in the language design in the Solidity forumand participating in the yearly Solidity developer surveys.

Latest from the blog

Solidity Summit 2023 Merhaba Türkiye!

Posted by Solidity Team on August 7, 2023

The Solidity Summit has returned! Following the popularity of the Solidity Summit in 2022, we are pleased to announce a live event for 2023! Solidity Summit 2023 is part of DevConnect and will take place in Istanbul, Turkey, on Wednesday, November 16, 2023. What can you expect for the Solidity Summit? The Solidity Summit is a collaborative conference that focuses on Solidity's future. It is a gathering of advanced Solidity users and other Solidity ecosystem stakeholders such as language designers, tool builders, auditors,...

Read more

Solidity 0.8.21 Release Announcement

Posted by Solidity Team on July 19, 2023

We are excited to announce the latest release of the Solidity Compiler, Solidity v0.8.21. Notable New Features Stack-to-memory mover always enabled via-IR The release addresses the issue of unoptimized code produced by the IR-based code generation pipeline being overly prone to "Stack Too Deep" errors. This is meant to help tools such as debuggers, which lose much of their effectiveness when working with optimized code. The legacy pipeline can often avoid running out of reachable stack slots even in unoptimized mode, but this comes at...

Read more

Bug in Legacy Code Generation When Accessing the .selector Member on Expressions with Side Effects

Posted by Solidity Team on July 19, 2023

On June 26, 2023, a bug in the legacy code generation pipeline of the Solidity compiler was found during investigation of a security report related to the use of abi.decode with a ternary expression that has side effects, as the type argument. The legacy code generator was not evaluating complex expressions, like assignments, function calls, or conditionals, whose .selector was being accessed. This led to the side-effects of such expressions not being executed, and therefore potentially incorrect behavior of contracts compiled using the legacy pipeline. The...

Read more

Playground

Try Solidity for yourself in this simple compiler. For a more fully featured browser-based IDE, try using Remix.

Compiler result

Compiler version:

(0 bytes)

Deployment costs: gas

Bytecode

Assembly

Solidity Events

The Solidity Summit is a free interactive forum for people involved and interested in the Solidity language and the ecosystem around it.

Its goal is to enable useful (language-design related) discussions which result in improvement proposals and actual implementations, foster communication between teams working on similar topics and to identify needs for the smart contract ecosystem for Ethereum.

Solidity event image

Solidity Summit 2023

Istanbul Congress Center, Istanbul, Turkey

11/16/2023 - 11/16/2023

Join us

Past events

Solidity event image

Underhanded Solidity Contest 2022

Remote

4/29/2022 - 4/30/2022

Event Info
Solidity event image

Solidity Summit 2020

Remote

4/29/2020 - 4/30/2020

Get involved

GitHub

Twitter

Mastodon

Matrix

Discover more

BlogDocumentationUse casesContributeAboutForum

2023 Solidity Team

Security Policy

Code of Conduct