Wed, Oct 21, 2020 6:50 PM

Ethereum Foundation Launches Fe, New Smart Contract Language

CJ Ethereum lab

The Ethereum ecosystem has got a new programming language for writing smart contracts called Fe. The news was announced by Christoph Burgdorf, one of the leading developers of Ethereum blockchain. Let us briefly tell you what it’s all about.

Fe is a variant of Vyper (in Rust), a programming language for EVM (Ethereum Virtual Machine). Currently, the better half of Ethereum applications are written in the Solidity programming language, but many developers want to have a simpler alternative to Solidity.

The original idea was to create an alternative compiler just to improve Vyper's security, but eventually, the compilers started showing syntax differences and it was decided to create a distinct language with a new name. This is the way Fe was born.

As a rewrite of Vyper, it inherits certain properties from Rust such as coherent and easy to use syntax and the emphasis on safety, while remaining readable and familiar to developers who have dealt with Python. Although the differences between Fe and Vyper are still limited, as the developers continue to add new features, in the future Fe may become more Rust-like.

The development of Fe is still in its initial stages, but it has accelerated significantly in the past month. The Ethereum Foundation is optimistic about adding support for all features necessary for an ERC-20 contract and expects to be able to complete this new smart contract language before the end of 2020. Although the compiler will not be a satisfactory choice for a production ERC-20 by that time, the developers look forward to demonstrating the capabilities of Fe with an efficient working example.

According to Fe's GitHub page, the short-term goal is to compile and implement an ERC-20 token contract. The long-term goals are: to introduce compilation modalities for the full set of current Fe features; to implement a Yul compiler in Rust to eliminate the need to interact with the Solidity compiler; to formally verify the Fe compiler via the language specification.

In the future, with the launch of Ethereum 2.0, Fe could also support Optimistic Virtual Machine (OVM) or Ethereum WebAssembly (eWASM).