The Solidity Underhanded Contest is back!

We’re excited to share that the Solidity Underhanded Contest is finally back! Inspired by the Underhanded C Contest and the first Underhanded Solidity Contest, organized in 2017 by Nick Johnson, we decided it is time for a much needed revival. The goal of this contest is to write innocent-looking Solidity code, which pretends to be clear and straightforward, but actually contains malicious behavior or backdoors. By hosting such a contest we aim to: Raise awareness about smart contract security. Uncover... [Read More]

Meet the Solidity team! 🧑‍💻👩‍💻

As you might know, Solidity is an open-source community project mainly developed and maintained by a core team. Today, we would like to introduce some of our team members and share insights into their professional background, which components of Solidity they mostly work on, what they would like to see in Solidity and in the ecosystem in future and more! Since almost all of our work happens on Github you can find each team member’s Github handle next to their... [Read More]

Solidity 0.7.0 Release Announcement

Solidity 0.7.0 is a breaking release of the Solidity compiler and language. This release does not include many features but rather changes that require a backwards-incompatible adjustment in syntax or semantics. For a detailed explanation, please see the documentation. Most notably, further cleanup of visibility and state mutability has been performed and several unpopular keywords have been removed. Types with mappings in memory are disallowed and shift and exponentiation operations use more reasonable types. Since we usually do not backport... [Read More]

Solidity v0.1.0 turns 5! A walk down memory lane...

With happiness and a tad of nostalgia, we’d like to share that Solidity v0.1.0 turns 5 years old today! (To be fair, v0.1.0 wasn’t an actual release, but it marks the time where the Solidity team started appointing version numbers.) We are puzzled over how fast time flew by. We’d like to use this opportunity to take a look back and walk down the Solidity memory lane together with you. In short: The Solidity language evolved rapidly, the ecosystem went... [Read More]

All you need to know about Sourcify

Welcome to Sourcify’s first short FAQ! If your questions around source verification haven’t been answered after reading this post, please feel free to drop by the Sourcify Gitter channel and ask us any question there. Also stay tuned on more turorials and developer focused content to follow here and on the Remix blog! [Read More]

Solidity 0.6.x features: inheritance

Similar to object-oriented programming in Solidity - a contract-oriented language - the inheritance and polymorphism features are as widely adopted and critical for the language evolution. There is hardly any Solidity developer who hasn’t used these language features in their contracts to decouple logic and increase code reuse. With version 0.6 of the language the main improvements introduced are to make existing rules explicit in addition to introducing interface inheritance and disallowing the dangerous state variable shadowing. The compiler continues... [Read More]

Solidity 0.6.10 Release Announcement

Solidity v0.6.10 fixes an important bug that was introduced in the previous release and adds error codes. Please upgrade if you are using internal library functions with calldata parameters in connection with using for. [Read More]