New trend of smart contract development [2019]


The smart contract development language has been dominated by solidity for some time. It is used to develop smart contracts that can run on Ethereum virtual machine EVM. However, solidty has some serious problems, including arithmetic overflow, type error and delegatecall vulnerability, which has frozen $300 million. All these vulnerabilities are problems at the development language level. In other words, if there was a better development language, it should have been able to create more secure smart contracts. The text will list the blockchain smart contract development technology trends worthy of attention in 2019.

Go to and learn more about Ethereum, bitcoin, EOS, tendermint, etc. in an interactive wayBlockchain development tutorial

In 2019, the challenger of solidity finally came.

Waves RIDE

Waves ride is a Turing incomplete (no loop or recursion) functional programming language inspired by Haskell,
For waves blockchain. Its features include static typing, lazy evaluation, pattern matching and used to determine whether transactions are allowed
Completed assertion expression. At present, a complete version of Turing is also under development. Wave’s smart contract support is currently on the main network
Already activated. We should be able to see the first batch of waves dapps in 2019.

Official address:…

Plutus (Cardano)

Plutus is another Haskell like functional programming language for Cardano blockchain. Cardano plans to launch in 2019
There are two major releases: Shelley provides complete decentralization and mortgage functions, while Cardano CL is a virtual machine that supports programmable smart contracts.

Official address:…

Scilla (Zilliqa)

Scilla is a certified smart contract development language. It considers the separation of computing process and effect in its design, which means that the communication between computing and state migration is strictly isolated, which makes Scilla smart contract easier to test and can be statically verified to minimize the chance of errors.

Zilliqa’s main network is planned to be launched at the end of January 2019.

Official address:

ewasm (Ethereum)

For example, it is not a smart contract developed by Ethereum for other languages, such as assembly C + +, but it allows developers to use Ethereum to compile a smart contract.

Ewasm is a safe subset of web assembly. It is a relatively new compilation target on the web platform. Conveniently, the WAMS (and ewasm) module can be used in any JavaScript project. For most blockchain codes, usually more than 75% of the code is not a smart contract at all – it is the code that uses JavaScript to communicate with the smart contract. Ewasm and JavaScript use the same binding and module support mechanisms.

Official address:

JavaScript (Lisk)

List is a blockchain development platform, which supports developers to use JavaScript to develop and create customized blockchains for specific applications, thus avoiding the expansion of Ethereum. List allows developers to create their own side chain to manage all blockchain operations with specific applications, so it does not need to compete with other applications for computing resources on the main chain. At present, list has not developed its own smart contract programming language or VM, and its trading ability is similar to bitcoin.

Official address:

Rust (via ewasm, Cardano client)

Rust is a low-level development language similar to C and contains some security features similar to Haskel, such as guaranteed constant references to avoid accidental modification, static blocking null pointer exceptions, stateful types only allow access to effective operations in the current state, pattern matching analysis to ensure function integrity (a mismatched pattern will lead to compile time errors) Basically, rust is similar to the successor of the pure advantages of C + + and Haskell.

Rust can be compiled into ewasm or client code used to build blockchain, such as Cardano. The list module can also be developed using rust, then compiled into wasm and imported into the list project.

Official address:

Please indicate the source for translation and reprint.