Assignment: DAO & Quadratic voting
*** Please read the instructions carefully and notice that even though the deadline for the assignment is almost in a month, you have another deadline in less than a week to do some easy setup work. If you have any questions or concerns about the assignment, feel free to send an email to cs234@groupes.epfl.ch or start a discussion on Moodle. ***
In this homework you are going to learn about smart contracts by interacting with a quadratic voting contract on Ethereum. As you can see in the attached handout, this homework consists of two parts.
In the first part (i.e., Solo Voting), you are going to work on your own to learn how to interact with Ethereum smart contracts. You will notice that you have to answer some questions at the end of part one. You are going to submit a PDF document with your answers under this Moodle assignment. You can find more instructions about the submission in the Gist.
In the second part, you are going to work together with your classmates to beat the voting contract. Your goal (collectively) is to beat the proposal "Nothing" by making another animal win the poll :) In order to achieve this goal, you have to collaborate with each other to come up with a voting strategy. Therefore, it is crucial that you communicate with each other for this assignment.
You have multiple options for communication channels: (1) you can discuss in person before/after the class (or during the break) on Thursday, (2) you can use the exercise sessions for CS-234 (Thursdays 4-5pm and Fridays 8-10am) to meet in person in INR 113, (3) if you do not feel comfortable with in-person meetings, you can use the Zoom link that we use for lectures during the exercise sessions to have online discussions, (4) you can use the Moodle forum for this homework, (5) you can do whatever else works for you.
The first thing that you have to urgently do for this assignment is to complete the "Setup" section in the handout so that we can send you animal tokens that you are going to need to complete part two. For setting up, you need to do three things (explained in the handout in detail) in this order: (1) install MetaMask, (2) receive free Ether on your Ethereum wallet (created in (1)) using one of the faucets, and (3) filling out the Google Form to get your animal tokens. The deadline for filling out the Google Form is Tuesday, November 30 @ 23:59. Note that if you do not fill out the form by the deadline, you will not be able to get your animal tokens, and thus will not be able to complete part two of the assignment!
We strongly advise you to start working with your classmates on part two as soon as possible since it will require coordination among each other to come up with a voting strategy. The deadline for submitting a PDF with your answers for part one and voting on the animal proposals for part two is Wednesday, December 22 @ 23:59!
- 24 November 2021, 6:41 PM