In our effort to foster exchange of information, encourage more developers to give feedback about Solidity and join the discussions on language design and future direction of the compiler, we are happy to launch the Solidity forum today!

Moving forward the Solidity forum will be the dedicated place to discuss topics and questions related to…

  • The design of the Solidity programming language.
  • The Solidity compiler.
  • Useful Solidity tips and code snippets.
  • Solidity documentation and its translation.
  • Discussions and announcements about Solidity releases.

It will not be the place for…

The Solidity forum is based on Discourse, an open-source software for civilized discussions. :)

If you are new to Discourse consider having a look at this “Unofficial Discourse User Reference Guide”, which summarizes useful tips on how to use Discord, text formatting, images, LaTeX and more.

A Quick Guide to the Solidity Forum Categories 🔖

We are launching the forum with an initial selection of categories which can be adjusted and extended over time. To propose a new category, or the change of an existing one, please post your suggestions in the “Site Feedback” category.

→ Announcements

”Announcements” is a low-traffic category for important announcements about the Solidity language and compiler.

📮 Subscribe to this category if you want to be kept in the loop about releases, security updates and Solidity-relevant feedback surveys, news and events.

→ Language Design

“Language Design” is the dedicated place for proposals and discussion on new language features and their implementation in the early stages of ideation or modifications of existing features. This is the place to discuss the soundness of proposals and define them further. As soon as proposals get more tangible their implementation will also be discussed in the Solidity GitHub organisation in the form of GitHub issues.

A vague “I don’t like how X is working” might get a discussion started, but keep in mind that more specific the proposed solutions are, the more likely they are to be adopted into the language.

Examples of topics that could fit the Language Design category:

  • “Change the way inheritance works”
  • “Introduce a switch statement”

ℹ️ You can follow the implementation status of new features in the Solidity Github project. Issues in the design backlog need further specification and will either be discussed in a language design call or in a regular team call. You can see the upcoming changes for the next breaking release by changing from the default branch (develop) to the breaking branch.

→ Tools & Infrastructure

“Tools & Infrastructure” is the category for discussion about developer tooling, e.g. IDEs, debuggers, development frameworks, security tools, and infrastructure with a focus on the interactions and improvements between tooling and Solidity.

ℹ️ This category is not meant for reporting bugs in tools or proposing new tooling features. To do that, please refer to the respective GitHub organisations of the individual projects.

→ Documentation

Discussions about the documentation and its translations can take place in the “Documentation” category.

⚠️ Again, please do not use the forum to report issues (e.g. typos or broken links in the documentation). Please report issues directly via the Solidity Issue Tracker in Github.

→ Code Wizards

In “Code Wizards” you can share useful tips or code snippets you came up with that are worth spreading. You can also discuss experimental Solidity implementations and get feedback on it.

ℹ️ The Solidity forum will not the place for ad-hoc support questions. For urgent Solidity support questions, please use the Solidity Gitter chat or consider checking out the Ethereum StackExchange. It’s also not the place for audit requests, although it is the right place to ask for feedback on a specific mechanism or construct.

Important Solidity Announcements to Your Mailbox 📮

To stay up-to-date about things without the need to constantly check the forum, you can get notifications via email! To edit your email preferences and enable the mailing list feature, visit your Profile → Preferences and scroll to Email. In the email settings you can define how often you’d like to receive emails. You can mute all topics and categories you are not interested in.

See You There! 👋

Without further ado, let’s kick off some discussions in the forum. We’re looking forward to seeing you there!