- ink! has undergone a major update and has become ink! 3.0.
- ink! is Parity’s Rust-Based Language for WASM Smart Contracts.
- Besides feeling like Rust, there are several other significant changes that came to ink!
Parity’s ink! has just launched a major update and is now — ink! 3.0. Parity is a blockchain infrastructure company and ink! is Parity’s Rust-based programming language for writing Web Assembly (Wasm) smart contracts.
“This latest version of ink! involved rewriting of all the major components that made up its predecessor, ink! 2.0. During this time, many teams built Wasm smart contracts using ink!, and thanks in part to their contributions and feedback, the project has evolved significantly more than in previous releases,” says members at Parity.
ink! is used by developers in the Polkadot and Substrate ecosystem to build efficient, high-performance smart contracts and decentralized applications for Wasm virtual machines, which represent an alternative to Ethereum-based (EVM/Solidity) smart contract systems.
Rust is an advanced and highly-efficient programming language that helps prevent software bugs. Wasm is another programming language that plays a key role in the design for Polkadot.
Parity’s representatives say that the main idea behind ink! 3.0 was to make it look and feel just like Rust.They say that the ink! syntax has changed slightly to better map from ink! to the generated Rust code.
What users see is mostly what will be generated by ink!. Now, the syntax is pretty much identical to the Rust programming language. This has the advantage that all the tooling Rust developers know and love — such as rust-analyzer and Clippy — just works out of the box.
Other than feeling like Rust, the most significant changes that came to ink! with version 3.0 are trait support, reduced contract sizes, the addition of delegate call and chain extensions.
Besides releasing ink! 3.0, Parity has also improved the Contracts pallet to boost parachain performance and have added some new features for better cross-contract calls and performance, making it easier for developers to write more complex logic.