MakeCoin Project (rubric)
Design and mint your very own ERC-20), ERC-721, ERC-777, or ERC-1155 assets, then use them in a custom, full-stack distributed application!
- 1️⃣ Overview
- 2️⃣ Getting Started
- 3️⃣ Deliverables
- 4️⃣ Evaluation
- 5️⃣ Where to Get Help
- 6️⃣ Resources
- 7️⃣ Credits
- You can work solo or in pairs with another student.
- You may partner with students in other sections of this course.
Here are some ideas to get you started:
- Proof of Props:
ERC20
token that represents a moment of gratitude shared between two people. - Coder Cards:
ERC721
token that represents a card in trading card game for software engineers. Card rarity determined by GitHub profile statistics (# of stars, # of repos, # of closed issues, etc) - Voting: Create a DApp for voting where all of the votes and candidate registration happens on chain.
- Allow anyone to start an election with a registration period, voting period, and ending time.
- Allow anyone to sign up as a candidate during the registration period.
- Allow anyone to vote once during the voting period.
- Create a front end where voters can see the results and know how long is left in the election.
- Santa's List: Create a user tracking DApp.
- Build a system for tracking who is on their nice list and who is on their naughty list.
- Allow for people to pay a fee to get themselves off of the naughty list.
- Let users on the nice list earn a portion of the fees based on how many other people are on the nice list.
- Advertisement Auction: Create an image + text area on a website and button under it which make a call to Ethereum. Make a function allowing anyone to pay more ETH than the last person in order to change the text and image link on the website.
- Cheese Touch: Create a non-fungible token dapp for a token that no one wants to have, a cheese touch token.
- Allow only 1 token to be 'live' at a time; if there is no live token anyone can create one.
- Allow users to transfer the live token to anyone else.
- If any user holds a live token for more than 24 hours then they can no longer transfer it, and the token should no longer be live.
[!DANGER] Both deliverables must be submitted to pass the project.
Your codebase must be submitted on Gradescope no later than Friday, October 9th @ 11:59PM PST.
On the last day of the course, each team is required to present a pre-recorded demonstration (2 - 5 mins
) of their ÐApp.
ALL presentations MUST include...
- The project's name, all collaborators, and relevant project links.
- Discuss the architectural decisions you made while creating and developing the project.
- Describe the Smart Contract you developed and it's functionality.
- Demo of your ÐApp, including how to acquire or trade the asset you created.
- Postmortem: choose at least one topic to reflect upon:
- Something that went well while working on the project
- Opportunities you discovered
- Challenges you faced
- Next steps for the project
- Each partner writes a custom shoutout for one another
[!DANGER] Must score
>36
points on this project to pass the course.
Both your project and presentation will be scored according to the MakeCoin rubric located in your Student Dashboard.
- Ethereum Stack Exchange: Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain.
- CryptoPunks: 10,000 unique collectible characters with proof of ownership stored on the Ethereum blockchain. The project that inspired the modern CryptoArt movement.
- CryptoKitties: CryptoKitties is a game centered around breed-able, collectible, and oh-so-adorable creatures we call CryptoKitties! Each cat is one-of-a-kind and 100% owned by you; it cannot be replicated, taken away, or destroyed.
🌐 Network | 🚰 Faucet | Limit |
---|---|---|
MetaMask | https://faucet.metamask.io | 5 requests/hour |
Rinkeby | https://faucet.rinkeby.io | 1 request/day |
Goerli | https://faucet.goerli.mudit.blog | 1 request/day |
- ETH Practice Developer Projects: Source for Voting, Santa's List, Advertisement Auction, and Cheese Touch project ideas.