Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 5.66 KB

File metadata and controls

109 lines (76 loc) · 5.66 KB

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!

Table of Contents {docsify-ignore}

  1. 1️⃣ Overview
    1. Guidelines
  2. 2️⃣ Getting Started
  3. 3️⃣ Deliverables
    1. Code
    2. Demo
  4. 4️⃣ Evaluation
  5. 5️⃣ Where to Get Help
  6. 6️⃣ Resources
    1. 🔗 Example DApps
    2. 🤑 Get ETH: Faucets
  7. 7️⃣ Credits

1️⃣ Overview

Guidelines

  • You can work solo or in pairs with another student.
  • You may partner with students in other sections of this course.

2️⃣ Getting Started

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.

3️⃣ Deliverables

[!DANGER] Both deliverables must be submitted to pass the project.

Code

Your codebase must be submitted on Gradescope no later than Friday, October 9th @ 11:59PM PST.

Demo

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...

  1. The project's name, all collaborators, and relevant project links.
  2. Discuss the architectural decisions you made while creating and developing the project.
  3. Describe the Smart Contract you developed and it's functionality.
  4. Demo of your ÐApp, including how to acquire or trade the asset you created.
  5. 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

4️⃣ Evaluation

[!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.

5️⃣ Where to Get Help

  • 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.

6️⃣ Resources

🔗 Example DApps

  • 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.

🤑 Get ETH: Faucets

🌐 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

7️⃣ Credits