onflow / flow

Flow is a fast, secure, and developer-friendly blockchain built to support the next generation of games, apps, and the digital assets that power them 🌊
https://onflow.org
Apache License 2.0
354 stars 158 forks source link

Update Voting Tutorial #376

Open joshuahannan opened 3 years ago

joshuahannan commented 3 years ago

Issue To Be Solved

Update Voting and Kitty Hats Tutorial to:

joshuahannan commented 2 years ago

Composable Resources

Voting Tutorial

@satyamakgec Is going to make a proposal for each tutorial and we'll discuss after then

satyamakgec commented 2 years ago

For voting -

I am thinking to write a MVP for the governance system, currently we have fungible token but it doesn't has the support for the governance system. So what I am planning to do is to extend the current fungible token and provide the support for the voting power and delegation of voting as well, However has the voting power can vote for a given proposal and every vote has its weight (~ voting power ~ balance the user posses at certain block.number).

It is itself a complete system beside the Dao itself not executing anything onchain once the proposal get passed. So the proposal will still be dummy but this is something we can add as an exercise to the learners.

For Composable Resources -

Let me know what do you think ? Does both the approach seems too much or it is viable to add them as the tutorial ?

joshuahannan commented 2 years ago

@satyamakgec I think that using the fungible token for a voting system is a great idea. I would just say to make sure that it can illustrate at least a few concepts that weren't covered enough in the previous tutorials, like maybe some more with capabilities and/or best practices. It is good that you want to include environment information like block number.

Can you post your suggestions for composable resources in that issue? #789 I think the land system could be fine. In terms of priority, I think the voting tutorial is a higher priority though, so I would focus on this one first.

satyamakgec commented 2 years ago

Thanks, @joshuahannan I am working on the voting first maybe at today end of the day I will send you a sketch to approve.

joshuahannan commented 1 year ago

Give high-level overview of the CLI and emulator link to their documentation page every time you use a feature of the CLI or emulator for the first time, mention it and explain what it is doing, what the arguments are, etc Assume they know the basics of the standards, but still mention at the beginning of the tutorials that the users should understand them and give a link to them explain pub(set) Read through the other tutorials to remind yourself of what topics are covered, then look at the code again to figure out what in the voting tutorial hasn't already been covered, then make sure when you get to that point in the code, you explain it. The tutorial should have a friendly tone and should not be just a list of steps to accomplish. If there is an interesting implication of a feature that you are explaining that isn't necessarily in the code itself, you are welcome to go off on a small tangent to explain that, which will hopefully spark some interest and creativity. explain how flow.json works with CLI and how it is used in the tutorial explain what happens each time you run a CLI command After the governance token is introduced, include a section that describes what it is used for, highlights any new cadence feature that are used in it before getting to the administration contract