Skip to main content
Version: 3.x.x

March '22

StackExchange Beta​

We are participating in the Beta of the Substrate StackExchange site!

If this StackExchange site gains traction it will be made available to the general public. To reach this goal it's important to have the community engage there though.

Head over to substrate.stackexchange.com to ask us any questions (there is an ink tag)!

ink! 3.0 πŸ¦‘β€‹

The star of the show this month is the release of ink! 3.0:

The team has been working on this release for a while. If you're a developer you're probably aware of this thanks to the long list of release candidates (v3.0.0-rcX) we've pushed out in preparation for the stable 3.0 release.

The main idea behind ink! 3.0 is that it's just Rust. The syntax is pretty much identical, and all the tooling you know and love, such as rust-analyzer and Clippy, just works.

Some other included changes worth highlighting:

  • Reduced contract sizes for better performance in a parachain context.
  • Support for cross-contract calls, making it easier to write complex applications.
  • Trait support, allowing for a more Rusty development experience.

cargo-contract 1.0​

Alongside the release of ink! 3.0 we're also releasing cargo-contract in its first stable version 1.0. cargo-contract is a handy developer tool for building, testing, and deploying ink! contracts.

Some notable updates in this release include:

  • Support for uploading and calling contracts on a chain with pallet-contracts.
  • Linting rules for ink! contracts, giving developers warnings about common errors.

Delegate Call​

Another update worth pointing out is the addition of delegate_call. What this allows is a way for contracts to forward a call they received to another contract.

One use case for this is implementing a Proxy Upgrade Pattern for smart contracts.

User ---- tx ---> Proxy ----------> Implementation_v0
|
------------> Implementation_v1
|
------------> Implementation_v2

This required some work in both pallet-contracts and ink!. Shoutout to the team over at Supercolony for driving the development here!

We now have two example contracts for writing upgradeable contracts in ink!. See here for a deeper explanation.

Workshop & Talk at EthDenver​

Hernando and Achim went to EthDenver to give a workshop and talk regarding ink! on the Substrate stage!

The recording is available here.