Skip to content

Tutorial: Using zero-knowledge for a secret state #13783

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

Merged
merged 41 commits into from
Feb 20, 2025

Conversation

qbzzt
Copy link
Contributor

@qbzzt qbzzt commented Sep 3, 2024

Description

Onchain games are limited because they cannot keep any hidden information. After reading this tutorial, a reader will be able to combine zero-knowledge proofs and server components (see #13228) to create verifiable games with a secret state, offchain, component.

The technique to do this will be demonstrated by creating a minesweeper game.

Preview link

https://deploy-preview-13783--ethereumorg.netlify.app/en/developers/tutorials/secret-state/

Related Issue

@github-actions github-actions bot added the Status: Stale This issue is stale because it has been open 30 days with no activity. label Oct 4, 2024
@qbzzt
Copy link
Contributor Author

qbzzt commented Oct 16, 2024

@corwintines , can I have a review on this? It's a very long article (probably the longest I've written), but I think it would be a valuable tutorial.

@github-actions github-actions bot removed the Status: Stale This issue is stale because it has been open 30 days with no activity. label Oct 17, 2024
@qbzzt
Copy link
Contributor Author

qbzzt commented Nov 4, 2024

Can I please have a review on this? It's a long and complex article, but it's a topic that can't be addressed in any other way.

Copy link
Contributor

github-actions bot commented Dec 5, 2024

This issue is stale because it has been open 30 days with no activity.

@github-actions github-actions bot added the Status: Stale This issue is stale because it has been open 30 days with no activity. label Dec 5, 2024
@github-actions github-actions bot added the tooling 🔧 Changes related to tooling of the project label Feb 17, 2025
recent codebase update
@wackerow wackerow removed the Status: Stale This issue is stale because it has been open 30 days with no activity. label Feb 17, 2025
Copy link
Member

@wackerow wackerow left a comment

Choose a reason for hiding this comment

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

Hey @qbzzt! Huge apologies for delay on this one, and apologies it slipped through. Super interesting topic, don't let the delay be confused with this not being very appreciated.

I pushed a couple small adjustments and got the path to build.. left a couple other small comments, but most importantly:

I'm having trouble getting this to work... Following the instructions I'm not getting much when I run pnpm dev, just wondering if I'm missing something here.

Also a note about dependency versions that I personally hit a small snag on... unlikely something that would interfere with someone doing this advances a tutorial, but could be a nice touch to just mention the node and pnpm versions that are expected.

@qbzzt
Copy link
Contributor Author

qbzzt commented Feb 17, 2025 via email

qbzzt and others added 3 commits February 17, 2025 20:41
Co-authored-by: Paul Wackerow <[email protected]>
It won't hurt if it's already installed.
@qbzzt qbzzt requested a review from wackerow February 18, 2025 03:39
Copy link
Member

@wackerow wackerow left a comment

Choose a reason for hiding this comment

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

Awesome! Thanks a lot @qbzzt, this was a great read through. Definitely a topic I'm not as well versed in, so was nice to clone and see a real example and have the stack broken down like that.

Couple small polishes/patches and one suggestion then I think we're good to pull this in!

@qbzzt qbzzt requested a review from wackerow February 19, 2025 02:43
Copy link
Member

@wackerow wackerow left a comment

Choose a reason for hiding this comment

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

Looks great, thanks so much @qbzzt! 🔥

@wackerow wackerow merged commit e1eef56 into ethereum:dev Feb 20, 2025
3 checks passed
Copy link

gitpoap-bot bot commented Feb 20, 2025

Congrats, your important contribution to this open-source project has earned you a GitPOAP!

GitPOAP: 2025 Ethereum.org Contributor:

GitPOAP: 2025 Ethereum.org Contributor GitPOAP Badge

Join the [ethereum.org Discord server](https://ethereum.org/discord) to explore more ways to contribute to the project. Depending on the tasks you complete, you may also unlock additional rewards. Visit [ethereum.org/contributing](https://ethereum.org/contributing) to learn more.

Head to gitpoap.io & connect your GitHub account to mint!Keep buidling, keep learning, and let's grow the Ethereum open-source community together 🌱

Learn more about GitPOAPs here.

This was referenced Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content 🖋️ This involves copy additions or edits tooling 🔧 Changes related to tooling of the project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Suggest a tutorial: Using zero-knowledge for a secret state
2 participants