header-langage
简体中文
繁體中文
English
Scan to Download the APP
Partnered With:

Solidity 1.0.0 – Exciting improvements in the next generation smart contract language

Read this article in 8 Minutes
Influenced by community feedback and creative ideas, the expected debut of Solidity 1.0.0 is likely to coincide with a major update to Ethereum, reflecting the growth and stability of the entire ecosystem.
Original Title: "Exciting Improvements in the Next Generation Smart Contract Language - Solidity 1.0.0"
Original Author: Adam Boudjemaa
Original Translation: Teacher Huai


Introduction


After analyzing a wide range of information such as the Solidity Github repository, Solidity development roadmap, community conversations on Twitter, active Pull Requests and Issues, this article delves into the future direction of Solidity.


This leading smart contract programming language is about to release upgrades 0.9.0 and 1.0.0, which will introduce several highly anticipated enhanced features.


This article aims to introduce readers to the latest developments and improvements in Solidity, which are based on community input and ongoing debates. Although the relevant information provided is not conclusive, it reveals potential directions for technological advancement.


1. Revolutionary integration of require() and Custom Error


Current method (0.8.x):



Expected to appear in 0.9.0 or 1.0.0:



Compared to using a large number of if conditions to throw errors with string information or custom error, using require() and custom error together will make the program clearer and save gas.


2. Internal Representation (IR) Optimization: Unleashing Efficiency


The internal representation (IR) process in Solidity plays a crucial role in converting smart contract source code into executable instructions for the Ethereum Virtual Machine (EVM).


Internally, it represents the simplification and standardization of complex code, making the process of converting code into machine language more efficient. The upcoming improvement 0.9.0 of Solidity aims to make this compilation process faster and more efficient, ultimately reducing costs and increasing developers' productivity.


3. Enhance Error Handling: Clarify and Simplify Code


It is expected that future updates will enhance error handling in Solidity, resulting in more direct error messages and easier debugging.


This enhancement is particularly useful for developers dealing with complex contracts, as it can save time and minimize potential errors.


4. Fixed-point Arithmetic: High Precision and High Performance


【Translator's Note: Fixed-point numbers are a type of data used by computers to represent decimals, with a fixed length for both the integer and decimal parts, making them safer than floating-point numbers. Currently, Solidity does not have any built-in data types for representing decimals, so developers often need to manually reserve decimal places by multiplying the original data by a large number and constantly paying attention to decimal points during subsequent operations, which is quite troublesome.】


At present, external libraries such as ABDKMath64x64 and DSMath have implemented fixed-point numbers using Solidity.


The update of version 0.9.0 is expected to integrate native fixed-point arithmetic and no longer require external libraries. This will simplify decimal calculations.


5. EVM Object Format (EOF): Building Smart Contract Bytecode


Solidity's upcoming EOF upgrade is preparing to introduce structured and version-controlled bytecode for smart contracts.


This improvement is expected to make future contract updates and upgrades easier to implement, maintain backward compatibility, and achieve more efficient analysis at the compilation stage.


Although this will not change the direct coding experience of smart contract developers, the output of the compiler will be more gas-efficient.


6. Transient Storage: Temporary and Efficient Data Processing


Solidity's new feature, transient storage, proposes a method of temporarily storing data during contract execution without permanently recording it on the blockchain. This method is expected to be more efficient in terms of gas consumption.


Transient storage similar to the following code may appear in Solidity 0.9.0 or Solidity 1.0.0.



7. Native Integration Reentry Protection


Before version 0.8.0, the SafeMath library was a commonly used tool for developers to avoid overflow and underflow issues in arithmetic operations. With the release of Solidity 0.8.0, these safety checks are now directly embedded into the language.


Similarly, Solidity versions 0.9.0 or 1.0.0 are expected to natively integrate reentrancy protection. This feature aims to simplify the implementation of security protocols to prevent reentrancy attacks.


You will see something like this:
























Welcome to join the official BlockBeats community:

Telegram Subscription Group: https://t.me/theblockbeats

Telegram Discussion Group: https://t.me/BlockBeats_App

Official Twitter Account: https://twitter.com/BlockBeatsAsia

Choose Library
Add Library
Cancel
Finish
Add Library
Visible to myself only
Public
Save
Correction/Report
Submit