Solidity Logo
Solidity Hero

Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum.

Solidity Logo

Solidity is evolving rapidly.

As a relatively young language, Solidity is advancing at a rapid speed. We aim for a regular (non-breaking) release every 2-3 weeks, with approximately two breaking releases per year. You can follow the implementation status of new features in the Solidity Github project. 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.

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

Relevant recent news include:

  • Solidity v0.7.0 is out! Check out this guide on how to best update your code to Solidity v0.7.x.

  • The infamous Solidity Underhanded Contest is back. This year's task is to create a seamingly safe upgrade mechanism which contains backdoors. Submissions close on Oct 31. Visit the contest website for all details!

  • Lastest from the blog: Meet the Solidity team! - short interviews with some of the core team members.

Try Solidity here.

// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; contract MyContract { function helloWorld() public pure returns (string memory) { return "Hello, World!"; } }

Compiler Result

Compiler version: Loading...

New to Solidity? Getting started is easy.

As a beginner, you find great tutorials, resources and tools that help you get started building with Solidity on the developer portal.

Alternatively, you can start by learning the basics about blockchain, smart contracts and the Ethereum Virtual Machine (EVM) in the Solidity docs.

Contribute towards enhancing Solidity by sharing your opinion in the language design discussions!

We welcome Solidity power users, auditors, security experts and tooling developers to get involved and actively contribute to the Solidity language design process.

  • Join the solidity-users forum, where existing properties of the language and proposals for new language features can be discussed.

  • Give input by completing (feature) feedback surveys which are regularly distributed via Twitter and the solidity-users forum.

  • Join the dedicated language design discussion calls, in which selected topics, issues or feature implementations are debated in detail.

  • Or share your thoughts and take part in design discussions directly via relevant Github issues.

For ad-hoc inquiries and questions you can reach out to the core team using the Solidity-dev Gitter channel, a dedicated chatroom for conversations around the Solidity compiler and language development.