Substrate Developer Newsletter - February 2023: Notable updates for FRAME devs, New Deep Dives released, Calling builders to apply to RFPs and bounties ⚡️

Going forward I’ll post the developer newsletter on the Polkadot forum to get feedback on its current format and encourage comments on what you find useful or what you think could be improved. In the end it’s for the community and I want to make it as valuable to you as it can be :blush:. Reminder to sign-up to the Substrate Developer newsletter here to receive it in your inbox each month. It’s also being published on Polkaverse and open to community contributions on Github.

To kick off this February edition, join us in celebrating the 5 year anniversary of Substrate’s beginnings, from PR #60, where Substrate started emerging out of what was initially Polkadot. Check it out yourself: a lot of renaming crates and separating Polkadot-specific primitives from those that weren’t Polkadot-specific. :birthday::dna:

:star:TL;DR and important announcements

  • Register here to meet Substrate and Polkadot builders at BUIDLing the Multichain with Polkadot - a side event that will be held on February 28, during ETHDenver BUIDLWeek.
  • Visit the Web3 Foundation’s RFP page to apply for funding for things experts deem missing or unsolved in our ecosystem.
  • XCM V3 has been merged into Polkadot, introducing new APIs that support upward message passing (from parachain to relay chain) for both fungible and non-fungible assets.

:calendar: Upcoming events

  • Join Parity at RustNation, London UK (February 17th) to meet the Rust builders pushing the boundaries of Web3. And make sure to stay after the conference for The Polkadot Sessions - an evening of food, drinks, and amazing DJ sets. Find out more in this blog post.
  • Meet Substrate and Polkadot builders at ETHDenver 2023! Be sure to register for BUIDLing the Multi Chain with Polkadot (February 28th, 1PM - 5PM) and Polkadot in USe (March 3rd, 1PM - 10PM). Polkadot will also be at the ETHDenver core event (March 2nd - 5th), so drop by the Polkadot booth if you plan on attending.
  • Join our Polkadot Deep Dive about the Utility and Sudo Pallets, streaming live on February 17th. Subscribe here to get notified.
  • Drop by the Polkadot booth during the SXSW Creative Industries Expo (March 12th -15th, Austin, TX) to meet with 11 teams from the Polkadot ecosystem and find out how you can join the movement for a better web.

:flashlight: Community highlights

  • Parity’s engineering lead Shawn Tabrizi and Polkadot founder Robert Habermeier talk about the past, present and future of the Polkadot network during the Polkadot Blockchain Academy in Buenos Aires.
  • Check out the Polkadot 2022 Wrap-up Playlist by Dotinsights & SubWallet to hear 23 leaders from key projects in Polkadot & Kusama discuss their accomplishments in 2022 and their plans for 2023.
  • For an exhaustive list of 500+ projects building in the Polkadot & Kusama Ecosystem, make sure to check out the interactive Ecosystem Map made by SubWallet with support from Parity.
  • Appilon announced their closed beta testing program, allowing developers to get access to their beta features for developing on Polkadot, enabling them to interact with both parachain and infrastructure services under a unified API interface.
  • Parity’s Head of Engineering Stefan Sopic was invited to a panel organised by The Block about “Comparing Layer 1- Platforms”, alongside representatives of Ava Labs, the Solana Foundation, Algorand, and Cardano where he highlights what makes Polkadot different that other layer 1s.
  • Listen to the full recording of the Polkadot community call (January edition) here in case you missed it.
  • A Year in Parachains part 1 and part 2 have been published on Polkadot’s blog, showcasing some of the progress made since the launch of parachains.

Ecosystem builders

This month we highlight bounties, grants, and other nifty ways to start building in the Substrate and Polkadot ecosystem.

Working on something you’d like to share here? This newsletter is open for contributions – make a PR to the next edition of the newsletter.

Polkadot Forum Digest

In case you’ve missed some of the recent discussions happening in the Polkadot Forum, here are some highlights:

  • Core engineers at Parity are looking for a technical project manager to steward the future of FRAME. Ideally this person has already been a long term core contributor to FRAME and is keen on leading this as a community effort. Join the discussion in this forum post.
  • Take a peek at the latest resources for testing XCM, shared in this thread where Parity’s engineering lead Shawn Tabrizi shares an example for using the XCM simulator.
  • A new tool for maintaining and managing a local list of RPC Endpoints called subrpc was introduced in this forum post. This helps app developers, who no longer need to provide a flag for each specific endpoint, but instead can just specify a flag for the chain they want to connect to (for example your-cli --chain polkadot) and can be sure they’re connecting to a quality RPC endpoint.
  • Learn about the future of Polkadot’s staking system in this forum post detailing how the current system has evolved over time, and opening the discussion for implementing new features to it.

Learning

This edition highlights new Seminars, Deep Dives and other learning material made by contributors in our ecosystem.

  • Learn about blockchain indexing with Subquery and what tools they provide to improve developer experience for creating indexing solutions for multiple chains. Check out the full seminar here.
  • New Polkadot Deep Dives have been released on a weekly cadence since last month’s edition, diving deep into the Multisig Pallet, the Vesting Pallet, the Executive Pallet, and the Democracy Pallet. Check out the latest release covering the XCM Pallet.
  • Technical Educator at the Web3 Foundation, Filippo Franchini released new technical explainers for the more technical savvy users of Polkadot. In his latest video, he goes over Time Delayed Proxies and how to use the Proxy Pallet.
  • Learn about SASSAFRAS - Polkadot’s future block production mechanism - at a high level and find out why it’s being built, all in this Twitter thread.
  • This 4 part video series will teach you about building front-end applications on Polkadot using React and Typescript.
  • AlephZero have released a repo to help developers migrate ink! based DApps to ink! 4.0. Guides include how to migrate contract code, including code for contracts made with OpenBrush, front-end code, and tooling code.
  • Learn more about XCM v3 in this Sama night Twitter space featuring Rob Habermeier.
  • This Astar Tech Talk will guide you through the whole process of creating a dApp for ink! NFTs and minting them as well.
  • Learn about Squid Protocol and its cross-chain functionalities for DApps building on Moonbeam in this livestream recording.

As always, a reminder to propose or request a topic you’d like to see on Substrate Seminar and chime in to this forum post to request a Deep Dive release.:tv:

:coffee: Technical updates

Most of the technical updates this month pertain to runtime developers and infrastructure and tooling services which may be affected by updates in the Substrate codebase. These include:

  • The AssetTxFeePaid event from the Assets Pallet now displays the fee and tip in the actual asset ID that was used in that transaction. Previously, these were only displayed in the chain’s native token which made it confusing for users and tools reading the event. This was fixed by adding a conversion inside the pallet ( #13083)
  • The Scheduler Pallet’s code version has been bumped to V4 in this patch. Chains that deployed a genesis without this patch should manually set the scheduler version to 4 and not use v3::MigrateToV4.
  • The API for randomness has been deprecated in the Contracts Pallet (#13204). This prevents chains that use this interface from providing insecure randomness and encourages chains that can provide secure randomness to expose this as a chain extension or via an oracle contract.
  • In the Assets Pallet, the Issued event’s field total_supply has been renamed to amount to make it clearer that it returns the amount newly minted. Note that this is a breaking change for indexing services (#13229).
  • The benchmarks macro has been updated to a proc macro, making them closer to how tests are written in Rust and more flexible for writing benchmarks for specific calls (#12924).
  • A runtime’s WeightToFee and LengthToFee implementations are now available via runtime API exposed by the Transaction Payment Pallet, allowing clients to a take an executed extrinsic from a block and validate each portion of its fees (#13110).
  • A new function called contains_prefix has been added to FRAME’s storage API, allowing to check whether a StorageDoubleMap or DoubleNMap contains a specified key prefix (#13232).
  • The PerDispatchClass struct, which returns the total weight consumed by all extrinsics in a block, has been updated to follow usual arithmetic conventions. This includes renaming add to accrue; checked_add to checked_accrue; and sub to reduce (#13194).
  • CountedMap::set is now consistent with StorageMap::set, whereby it now delegates CountedMap::insert and CountedMap::remove to update the count on value removal or insertion (#13214). If you have used CountedStorageMap::set, you should call initialize_counter since otherwise the stored count and the actual number of elements will differ.

:eyes: Releases

Go to Polkadiff for a full list of merged PRs into Substrate and Polkadot since the last Polkadot release and be sure to read the Polkadot Release Analysis of v0.9.37 on the Polkadot forum. In this section, we go over updates to various core tools developed by Parity for the ecosystem.

Subxt (v0.26.0) :mailbox:

A Rust library to submit extrinsics (transactions) to a Substrate node via RPC.

Notable changes include making the Storage API more block-centric and making Substrate dependencies optional.

Sidecar (v14.3.1) :red_car:

Sidecar is a REST service that makes it easy to interact with blockchain nodes built using Substrate’s FRAME framework.

This update fixes a few bugs, including adding the use of the latest error metadata for fetchErrorItem and renaming nomination-pools to be to standard.

Tx-wrapper (v5.0.0) :candy:

Tx-wrapper provides tools for FRAME chain builders to publish chain specific offline transaction generation libraries.

Major changes include removing store_call from asMulti as v9340 Polkadot runtimes will no longer support it.

Zombienet (v1.3.33) :zombie:

Zombienet is a CLI tool to easily spawn ephemeral parachain networks and perform tests against them.

Only minor fixes and no breaking changes.

:newspaper: Substrate jobs

Have a look at all the open roles in the ecosystem on the Substrate Job Board.

Got ideas for content you’d like to see in future newsletters? Make a PR to the next edition here – we’d love to include them. :heart:

Previous editions of this newsletter are available in the public archive rendered on this web page as well as on Polkaverse. Join us there to comment, emote or provide feedback on our newsletters – all using a decentralised social media space built with Substrate and IPFS.

4 Likes