-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
88 lines (61 loc) · 3.64 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
________ ___ ___ ________ ________ ________ ________ ___ ________
|\ __ \|\ \|\ \|\_____ \|\_____ \|\ ____\|\ __ \|\ \|\ ___ \
\ \ \|\ /\ \ \\\ \\|___/ /|\|___/ /\ \ \___|\ \ \|\ \ \ \ \ \\ \ \
\ \ __ \ \ \\\ \ / / / / / /\ \ \ \ \ \\\ \ \ \ \ \\ \ \
\ \ \|\ \ \ \\\ \ / /_/__ / /_/__\ \ \____\ \ \\\ \ \ \ \ \\ \ \
\ \_______\ \_______\\________\\________\ \_______\ \_______\ \__\ \__\\ \__\
\|_______|\|_______|\|_______|\|_______|\|_______|\|_______|\|__|\|__| \|__|
We have made our own cryptocurrency called buzzcoin, and deployed a contract at
a specified address. The contract contains five functions, which will pay you
some buzzcoin. Your job is to make every function pay you. The number of
buzzcoin you can get is your grade.
Before you do anything. Take a good long look at the contract provided. Make
sure you understand what each question does before you attempt.
When you are ready, here are instructions to run on our blockchain:
1) Install metamask. This is a firefox/chrome extension. Follow through the
setup. Make sure not to also use real crypto with this!
2) Import the key we sent you over canvas messages. Go to import account,
select json, and choose the key. The password for everyone is "buzz". Don't
share your key with other students!
3) Go to expanded view, settings, add custom network, and provide it with the
following:
Network Name: Buzzcoin
RPC URL: http://143.215.130.235:8545
Chain ID: 9090
Currency Symbol: Buzz
4) If everything goes well, metamask will query our blockchain for your
balance, and it should say 1 BUZZ! If is does not say that, then you did
something wrong
5) Now to interact with the contract, you will need the address I deployed it
at, plus the "abi", which is just an interface to functions and definitions
6) Learn Web3.py and use it to interact with the Buzzcoin contract. One potential
source is https://docs.moonbeam.network/builders/build/eth-api/libraries/web3py/
to learn how to send transactions and deploy contracts (which you will need in part 2
of this project that we will post soon).
See more examples here:
https://web3py.readthedocs.io/en/stable/examples.html
Our node will respond to any RPC request. See examples here:
https://eth.wiki/json-rpc/API
There is an easter egg somwhere. If you are the first to find it, you get 30
BUZZ. If you are the second, you get 15. The third gets 1. Send an email or a
private piazza post to claim your reward.
This is more important for the second part of the project (deployed later) where
whoever has the highest amount of buzzcoin by the end of the semester gets a
full letter grade bonus.
Finally. one of the questions becomes.... more difficult the more students who
submit it. The first few people who submit the question basically get it for
free. The last person has to do some serious serious work. Hope you read this
and start early ;)
If you want hints on any questions besides on setup, or problem1, you must pay
the tax of one buzzcoin per hint. It may be worth it if my hint helps you get
twenty buzz, and I promise they will be good hints :) Send 1 buzz to
0x1421350ab6660421d2EA4e423a52030c9A19010E
And in your piazza post, send tx info of you paying me >:)
You are not allowed to try to connect to our node, mine, dos, or steal coins
from other students. If you find an unlimited money glitch, let me know before
hand and we will give some bonus, instead of leaving no coins for other
students.
Your deliverables are a list of all your transactions, your final balance (send a screenshot), and
a small writeup of how you solved each question. Enough for us to know you did
it
have fun!