Premium Only Content
Demystifying FRAME Macro Magic | Substrate Seminar (full livestream)
In this seminar, we are joined by Parity core FRAME developer, Sam who steps us through how the FRAME pallet Rust macro parsing and expansion works through the lens of implementing a simple pallet macro. See the seminar lesson plan for more details and links to learning resources:
https://github.com/substrate-develope...
👉 Have a topic you’d like to propose for the next seminar? Submit a Github issue here: https://github.com/substrate-develope...
📺 Subscribe to this channel on Twitch: https://dashboard.twitch.tv/polkadotdev/
🗞 Sign up to the Substrate Developer newsletter for updates on all things Substrate: https://substrate.io/ecosystem/connec...
0:00 Intro
3:10 Sam’s background and current work
8:48 Why are macros so important for FRAME developers?
10:31 What are macros?
16:42 What are tokens?
19:00 Declarative macros in Rust
23:24 Procedural macros in Rust
29:31 Attribute proc macro example
33:09 Macro state tracking
38:01 The outer macro pattern
39:59 FRAME pallet outer macro pattern
46:14 Q: Does FRAME make it easier or harder for experienced Rust developers?
54:38: Q: Will it be possible to use an inner call in another file?
59:50 Q: When will Substrate move away from GitHub dependencies to crate dependencies?
1:01:35 Q: What are some of your favourite macros to use during runtime development?
1:04:00 FRAME pallet attribute macro stubs
1:09:46 Q: What’s an example of unhygienic macro code?
1:11:35 Demo: stepping through cargo expansion and adding the whitelist storage attribute
1:28:24 Recap
1:31:44 Q: What improvements would you like to see in FRAME?
1:33:50 Q: How does this fit into construct_runtime?
1:36:00 Q: What dev setup tips do you have for developers?
1:45:24 Q: Where can I learn more about the different FRAME macros?
1:48:07 Outro
1:51:50 Q: What do you advise for developers transitioning into Rust/Substrate?
#polkadot #substrate #rustlang #macros
---------------------------------------------------------------------------------------------------------------------------------------------
If you have any questions, reach out to the community on our social channels 👇
Discord: https://dot.li/discord
Element: https://matrix.to/#/#polkadot:web3.foundation
Twitter: https://twitter.com/Polkadot
Reddit: https://www.reddit.com/r/polkadot/
Subscribe to the newsletter: https://bit.ly/Polkadot_Newsletter
Polkadot Lightpaper: https://polkadot.network/Polkadot-lig...
Polkadot Wiki: https://wiki.polkadot.network/docs/en...
Polkadot Ambassador Program: https://polkadot.network/polkadot-amb...
-
1:22:12
MattMorseTV
7 hours ago $163.12 earned🔴It’s MUCH WORSE than WE THOUGHT. 🔴
143K213 -
7:22:09
Meisters of Madness
10 hours agoOmega Gaiden - Part 4
42.1K1 -
2:51:18
Barry Cunningham
10 hours agoBREAKING NEWS: NATIONAL GUARD ATTACK PRESS CONFERENCE AND LIVE UPDATES!
88K52 -
5:56:12
SilverFox
6 hours ago🔴LIVE - ARC AT NIGHT! COME THRU!
41.1K2 -
2:46:09
Joker Effect
6 hours agoCLAVICULAR - What the hell is "Looks Maxing"? Asmond Gold is a Demon. KaceyTron. Steve Will do it.
44K4 -
3:31:22
SlingerGames
5 hours agoLIVE - Wumble Wednesday - BIRTHDAY STREAM!
19.7K3 -
5:45:24
StevieTLIVE
6 hours agoWarzone Win Streaking BIG Challenges MASSIVE Hype NO Losses LOCK IN
13.9K -
5:33:40
FrizzleMcDizzle
8 hours agoThis game is scary AF - RESIDENT EVIL 7
9.93K -
1:03:47
TheCrucible
10 hours agoThe Extravaganza! EP: 66 (11/25/25)
98.3K15 -
4:23:35
xxTOWERDOGxx
9 hours ago🦃Wobble Wobble, while you Gobble Gobble 🦃🟢Premium Creator🟢🪒No Shave November🪒
4.68K