# Mina Bootcamp Wrap Up quick notes The content of the article is a summary of the video below and any uncertainties are subject to the video. https://www.crowdcast.io/e/mina-snapps-developer/2 In the beginning, Jason Borseth shared ## 1. The future of Snapp ### Planned Features (1) Tokens. Allow developers to create custom tokens & NFTs (2) Offchain storage. Unlimited off-chain storage for snapp state using decentralized storage (3) On-chain sequencing. Allows for ordering of concurrent txs that modify the state of a snapp account ### Critical Components (1) ZK Oracles. Snapps can use any HTTPS website as a data source with privacy preserved. (2) Ethereum Bridges. Smart contrats on Ethereum can interact with Mina, which makes privacy-preserving operation possible and practical. ### New tech & use cases Private transfer, verification, anonymous voting... ## 2. Snapps Builder Program https://o1labs.org/builders It has been closed now. ## 3. Participant Projects ### 1. Mina Secret Exchange [link]( https://github.com/ProxyLabs/mina-secret-exchange) Mina-Secret-Exchange is a zk-powered Smart Contract (Snapp) for the Mina Snapp Bootcamp 2021. Users need to solve a math problem to access the swap snapp contract. ### 2. Hangman [link](https://github.com/frisitano/snapp-hangman/blob/main/src/index.ts) An 1v1 puzzle game using Mina's snarkyjs library. P1 chooses a secret word with a commitment and Player 2 needs to guess. P2 only has limited chance to reveal all the characters. ### 3. Blind Man's Bluff(An Indian Poker Game) [link](https://github.com/wotomas/BlindMansBluff) Blind Man's Bluff is an Indian poker game. The circuits enabling turnless betting were tested that enables round of initial betting. ### 4. Sealed bid auction [link](https://github.com/Muhammad-Altabba/snarkyjs-tender) This is a PoC that is meant to demonstrate how a sealed bid auction could be implemented with SnarkzJS. Still WIP, so you can see all bidding price on the same page. Comment: Some mistake: Some logic are implemented by JS, not in circuit. Some state are not stored on-chain. ### 5. Mina Checker Game [link](https://github.com/vimukthi-git/CheckerSnapp) A Checkers game built to demonstrate Mina Snapps Smart Contracts at work. The demo simulates several rounds between two players. They move their own piece to try to win the game. The most complicated logic ever. ### 6. zkPass [link](https://github.com/Comdex/zkpass) DID platform on Mina with ZKP. Users can register an account on Mina governed by specific logic. The platform also has a naming system, which allows users use their name to receive assets instead of address. Comment: ENS + Tornado, really cool. ### 7. Stir with JarOfPickles [link](https://github.com/Kirol54/minaBootcamp) A coin tumbler on Mina. Using whitelist to ensure ‘locking’ so no concurrent update to the merkle tree is possible. The participant has expected storing the whitelist on the IPFS in the future.(Currently, IPFS is not functional with Snapps.) Comment: When using merkle tree, you need to have all the hashes in the circuit. ### 8. Mastermind [link](https://github.com/jackryanservia/mastermind) Mastermind is a code-breaking game for two players. In README, the author explains He used some functions incorrectly, for example, misusing call data and console logs instead of reading from and publishing to chain state. I see his effort, the bootcamp make sense. ## Next Steps Github: https://github.com/o1-labs/snapp-cli Discord: #snapps-developers https://discord.gg/minaprotocol Docs: https://docs.minaprotocol.com/snapps Keep an eye on it! The team will add content in the near future, tutorial for example. ## Q & A I just picked some highlights. ### ZK Oracle The bridge between Ethereum & Mina blockchain can read data from Mina state, so one can prove his credit score without posting any personal information both on Mina & Ethereum, which means uncollateral loan is possible. ### Difference between Zk Oracle and current oracle 1. When using a ZK Oracle is processed on the user's local machine, which means you can use private data. 2. Other oracle systems need to store data on chian(state in a smart contract), which has many constrictions, such as storage cost and operating difficulties. ZK Oracle doesn't need to store data in the contract. ### Bootcamp Feedback Please leave your feedback [here](https://o1labs.org/bootcamp-feedback)