⚠️ Attention: This post is an April Fools’ Day joke. Please consume it at your own risk. We will not distribute any Solidity NFTs in the foreseeable future. Stay safe. Today, we are excited to announce a little surprise we’ve been working on silently for the last couple of weeks. We heard that you really like crypto-related collectibles and we listened. You will soon be able to own a digital piece of Solidity’s history: We’re tokenizing each Solidity version as...
[Read More]
Solidity 0.8.3 Release Announcement
Solidity v0.8.3 fixes the Solidity Optimizer Keccak Caching Bug, which is present in all prior versions of Solidity, and, in addition, includes two improvements to the optimizer which can provide a big gas benefit when writing structs that cover a full storage slot to storage.
[Read More]
Solidity Optimizer Keccak Caching Bug
On March 20, 2021, a bug in Solidity’s bytecode optimizer was found by differential fuzzing. The bug
is fixed with version 0.8.3 released on
March 23, 2021. The bug is present in all prior versions of Solidity.
We assigned the bug a severity level of “medium”.
[Read More]
Solidity 0.8.2 Release Announcement
Solidity v0.8.2 adds an optimizer stage that can inline small amounts of code to save gas and
provides more means to work with code documentation by exporting inline comments
and allowing custom natspec tags.
[Read More]
Saving Gas with Simple Inlining
Solidity v0.8.2 adds a simple inliner to the low-level optimizer of Solidity. In this post, we examine how it works and take a look at synergies with other steps of the optimizer.
[Read More]
Contributing to Solidity 101
The Solidity programming language is an open-source project governed by a core team. We rely on the community’s feedback, input and contributions to make the language as effective, safe and useful as possible.
In this post, we will walk you through the various different ways how you can get involved contributing to Solidity! Do not hesitate to contact us in case anything is left unclear after reading the post.
[Read More]
An Introduction to Solidity's Fuzz Testing Approach
Security vulnerabilities and bugs detract from software quality.
To discover them early, at best before they are released, we have adopted fuzz testing: feeding randomly generated programs to the Solidity compiler and observing the compilation runtime and code generated.
Since Q1 2019, the Solidity compiler is fuzz tested via Google’s open-source software fuzz (oss-fuzz) framework.
In this post, we briefly describe the work that has been done on this front, and work that is currently in progress.
[Read More]
Launching the Solidity Forum 🗃️
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...
[Read More]
Solidity 0.8.1 Release Announcement
Solidity v0.8.1 introduces
many new features for the SMTChecker (see below), updates the
emscripten version for building soljson.js to 2.0.12,
allows to catch panic errors and adds other small improvements.
[Read More]
Solidity Developer Survey 2020 Results
Before we dive into the results we want to extend a big thank you to all of the Solidity developers that participated in the very first Solidity Developer Survey, which we conducted at the end of last year! We were overwhelmed by the high quality of the submissions and are happy to extract important insights from your input. In this post, we’ll be summarizing and commenting on the results of the survey. Please note that none of the questions in...
[Read More]