Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web3dev new course #120

Merged
merged 10 commits into from
Feb 28, 2024
Merged

Web3dev new course #120

merged 10 commits into from
Feb 28, 2024

Conversation

nomadbitcoin
Copy link

@nomadbitcoin nomadbitcoin commented Feb 22, 2024

This pr aims to introduce the content of Rust State Machine written by @shawntabrizi in the format of a Web3dev course:

https://github.com/shawntabrizi/rust-state-machine

The content is only adapted for the platform and has not undergone any changes or alterations. "Exercises" sessions have been added to combine the "Todo's" with the theoretical content.

@shawntabrizi
Copy link

shawntabrizi commented Feb 22, 2024

@nomadbitcoin just looked VERY quickly, but you are perhaps approaching this the non-ideal way.

All of the content for the rust-state-machine is here: https://github.com/shawntabrizi/rust-state-machine

You should instead be creating a tool to parse that repo into the right format for your web3dev course, like this: https://github.com/shawntabrizi/rust-state-machine-mdbook/blob/master/generate/index.js

If there are improvements or changes to the content you need, we can work on that for sure, but what is not ideal is re-copying the content here, and then not getting future updates to the content if they come out.

the intention of the main repo is to be a source of truth for content.

let me know if this makes sense

@danicuki
Copy link

@shawntabrizi I understand your concerns and agree that the content should not be copy pasted / duplicated. But the way the rust state machine repo is setup makes things really hard to link (and even make ourselves some changes via PR).

Our courses platform has its own standards for content organization. We need this format to make it work.

Also, the content might have adaptations to fit the way our learning platform engage with students. We usually create instructions in each lesson about how to submit the lesson and also share the experience in social networks.

It is my personal recommendation that Rust Analyzer is not needed in this workshop, and generally you should not use it for Substrate development. However, this section might be updated in the future to include special configurations of Rust Analyzer which will work well with Polkadot SDK in the future.

However, if you would like to use it anyway, now is the right time to set it up.
ht

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is ht?

I think we need to add a simple phrase in the end for lesson submission, otherwise it is gonna be odd the way it shows up in the build platform and the user won't know what to do

@@ -0,0 +1,60 @@
You can find the [solution for the previous step here](https://gist.github.com/nomadbitcoin/9171430e3a44c42513b5c1104ef972e2).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add this at the end of last lesson and not here

@@ -0,0 +1,118 @@
You can find the [solution for the previous step here](https://gist.github.com/nomadbitcoin/03914776998cb74eaa0a6adaa7edacec).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all solutions should be in the end of the lesson, and not in the next lesson

@@ -0,0 +1,65 @@
You can find the [solution for the previous step here](https://gist.github.com/nomadbitcoin/afd212bee56108f0cd87c712ad5d3fdf).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All solutions should be in the end of the lesson, and not in the next lesson.

@@ -0,0 +1,113 @@
You can find the [solution for the previous step here](https://gist.github.com/nomadbitcoin/1a3548177e89c4d691f78b691f1a38a1).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all solutions should be in the end of the lesson, and not in the next lesson

@@ -0,0 +1,51 @@
You can find the [solution for the previous step here](https://gist.github.com/nomadbitcoin/4d41571e1155cb262c116e88b185bcd3).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all solutions should be in the end of the lesson, and not in the next lesson

*/
}
}
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a celebration to reach this point and a preview about what comes next

/// A map from an account to their nonce.
nonce: BTreeMap<String, u32>,
}
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

celebrate end of section 2 and preview section 3

@danicuki danicuki merged commit 3b118e2 into web3dev-version Feb 28, 2024
1 of 2 checks passed
@shawntabrizi
Copy link

shawntabrizi commented Feb 28, 2024

@danicuki i want to clarify, its not about NOT copying the markdown and code here.

You need to copy the content, and I am happy for you to use it however you want.

The point is not to copy it manually, rather, it is better to create some script which takes the existing tutorial, and modifies it for your needs.

Thus, when updates come to the tutorial, you just run the script again. Something like that.

See this: https://github.com/shawntabrizi/rust-state-machine-mdbook/blob/master/generate/index.js

Which generates an mdbook with the right formatting, table of contents, and everything.

If possible of course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants