Polkadot-Blockchain-Academy / pba-content

An intensive academic program teaching Blockchain, Substrate, and Polkadot.
https://polkadot-blockchain-academy.github.io/pba-content/
MIT License
57 stars 28 forks source link

XCM - Feedback and local tweaks from UCB run-of-show incoperated #792

Open nuke-web3 opened 1 year ago

nuke-web3 commented 1 year ago

Please take notes as you have them here from students and from your perspective :pray:

What was good, bad, ugly? Any lessons learned?

Also - [ ] items of things that need a FIXME for next time to close this issue out we know of.

TODO before we close out the UCB cohort & tag the content repo

shawntabrizi commented 1 year ago

tbh xcm content is feeling pretty dry. i wonder if all of these things he is teaching could instead be taught starting with real world examples, and breaking down how you would achieve that and modity it and such for example, at this moment, he is just walking down every example for some property lets start with an end to end scenario, and cover how you would configure xcm for that scenario and then what changing that config might do or change about that e2e scenario Keith yeah, this is almost the same thing as the last one where i went through all XCM instructions and described each of them was not a good lecture for the students, and i didn't like giving it either shawntabrizi i think XCM could be broken down to like:

primitives instructions config first you explain that high level architecture, and high level ideas for each then immediately, lets jump into scenarios and what details you will need to nkow from those 3 areas to support that end to end scenario hopefully, a good set of scenarios would cover most of the things needed anything extra could be taught as "fringe case scenarios" Keith shawntabrizi lets start with an end to end scenario, and cover how you would configure xcm for that scenario we have just 1 example of this, which is several slides later, but changing the entire lesson to be more centered around scenarios would make these concepts much easier to stick into student's minds shawntabrizi glad you agree. stuff i may be able to help with next time around was yesterday similar? students yesterday actually seemed to like the lectures so i assume it wasn't like this or maybe they were just excited to see gav Keith lecture 1 was really about the core concepts and philosophy, some parts of it are kinda dry, but we are thinking of reorganizing it because lecture 2 immediately after isn't a big lecture so clearly we have an oversized lecture 1 the parts where i think were dry is when we iterate through the many different kinds of things that you can express with XCM Nuke 🌄 shawntabrizi glad you agree. stuff i may be able to help with next time around why not change plans a bit to get Gabe to talk on this? His work IIUC is centered on this and perhaps could use his slides we have already to discuss at least one practical example e2e - https://github.com/Polkadot-Blockchain-Academy/pba-content/tree/main/syllabus/8-XCM/7-Beyond_Asset_Transfers shawntabrizi if i had to summarize what students would probably want to take away from XCM lectures:

how can i build a runtime which safely trades assets (ft and nft) between other parachains how can i start to build more complex execution scenarios harnessing features of other chains 3 replies Nuke 🌄 oops, updated link to open issue Chris-OAK Network The walk-through of barriers is helpful to me, but we have invested a year‘s of our time in XCM. I don’t know how much the students could grasp the power of them at the moment. I think the parachains are utilizing only half of the barriers for now. Keith the barriers are also helpful to create attack scenarios to make it interesting Keith as in, if you don't use barriers, such and such XCM programs can fuck up your chain etc. 1 reply Chris-OAK Network exactly, maybe starting from a few attack scenarios will help explain the necessity of barriers. shawntabrizi yeah, i think a cool way to teach barriers would be to start with a config with no barriers, and then start talking about attacks one by one as students understand the attack, then they also understand why the barrier was created and when it should be used Keith for the XCM pallet lecture (i.e. the lecture right before this one), i am not sure if we can make it less dry we are trying to describe the connection between FRAME and XCM, and the XCM pallet is the central point of it shawntabrizi perhaps something more hands on. students are familiar with Pallets at that point. Maybe they can explore the pallet through its code, its configuration in the runtime, a default implementation in cumulus node template, and then in polkaodt / kusama the lecture would instead be more about why it exists and how it is used at a high level Keith that's what i had in mind as well, we don't have to go through each and everything -- they can discover them on their own during activity/exercise time