Skip to content

Commit 6161e6b

Browse files
elPiablowolovim
authored andcommitted
add 11 question quiz to the end of lesson3
1 parent 7bd1c80 commit 6161e6b

File tree

2 files changed

+205
-0
lines changed

2 files changed

+205
-0
lines changed

pages/lessons/projects/3.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -994,4 +994,6 @@ with your contract address or with the name that you chose in
994994
Of course we already have a couple up there, but you will be able to
995995
view the three NFTs of your own, which you so diligently minted. You're an artist!
996996

997+
<Quiz quiz="quiz-lesson-3"/>
998+
997999
## Woohoo ✨ Now it’s time to celebrate.

utils/quizzes/quiz-lesson-3.json

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
{
2+
"title": "Quiz: Lesson 3",
3+
"questions": [
4+
{
5+
"question": "As well as console, which of the following are also known as a CLI?",
6+
"options": [
7+
{
8+
"answer": "a terminal "
9+
},
10+
{
11+
"answer": "a command line"
12+
},
13+
{
14+
"answer": "a command prompt"
15+
},
16+
{
17+
"answer": "all of them",
18+
"correct": true
19+
}
20+
]
21+
},
22+
{
23+
"question": "What has Open Zeppelin created?",
24+
"options": [
25+
{
26+
"answer": "A No-Code smart contracts solution called Kashmir"
27+
},
28+
{
29+
"answer": "A library of open-source smart contracts, widely tested and audited, to inherit by other developers",
30+
"correct": true
31+
},
32+
{
33+
"answer": "Stairway: an NFT marketplace called for everyone to trade their assets"
34+
},
35+
{
36+
"answer": "Led by a web3 founder, they created a lot of hard rock anthems"
37+
}
38+
]
39+
},
40+
{
41+
"question": "What line should we use to declare a smart contract called Animals in solidity?",
42+
"options": [
43+
{
44+
"answer": "pragma solidity contract Animals {"
45+
},
46+
{
47+
"answer": "smart contract Animals {"
48+
},
49+
{
50+
"answer": "contract Animals {",
51+
"correct": true
52+
},
53+
{
54+
"answer": "solidity 0.8.12 contract Animals {"
55+
}
56+
]
57+
},
58+
{
59+
"question": "What does msg.value hold in a function call?",
60+
"options": [
61+
{
62+
"answer": "A message passed to a function from the sender account"
63+
},
64+
{
65+
"answer": "The native token balance of the account that called a payable function"
66+
},
67+
{
68+
"answer": "The address of the message sender account"
69+
},
70+
{
71+
"answer": "The amount of native token sent to a payable function",
72+
"correct": true
73+
}
74+
]
75+
},
76+
{
77+
"question": "What does msg.sender hold in a function call?",
78+
"options": [
79+
{
80+
"answer": "A message passed to a function from the sender account"
81+
},
82+
{
83+
"answer": "The native token balance of the account that called a payable function"
84+
},
85+
{
86+
"answer": "The address of the account that called a function",
87+
"correct": true
88+
},
89+
{
90+
"answer": "The amount of native token sent to a payable function"
91+
}
92+
]
93+
},
94+
{
95+
"question": "In a smart contract, override is a keyword to …",
96+
"options": [
97+
{
98+
"answer": "… tell the EVM you need to change a read-only or constant state variable"
99+
},
100+
{
101+
"answer": "… replace a function from an inherited contract",
102+
"correct": true
103+
},
104+
{
105+
"answer": "… replace a specific value from a variable in memory"
106+
},
107+
{
108+
"answer": "… replace a specific value from a variable in storage"
109+
}
110+
]
111+
},
112+
{
113+
"question": "What if the memory keyword used for?",
114+
"options": [
115+
{
116+
"answer": "To tell the EVM we need to allocate an exact number of slot from memory"
117+
},
118+
{
119+
"answer": "To specify a parameter or local variable is stored in memory instead of storage",
120+
"correct": true
121+
},
122+
{
123+
"answer": "It is a keyword to let the EVM memorize a specific value we will be using frequently"
124+
},
125+
{
126+
"answer": "To specify the total amount of memory our contract will be using"
127+
}
128+
]
129+
},
130+
{
131+
"question": "What is require( ... ) used for?",
132+
"options": [
133+
{
134+
"answer": "To tell solidity all the libraries our contract requires"
135+
},
136+
{
137+
"answer": "It is a keyword to list all the requirements a parameter must meet to be valid"
138+
},
139+
{
140+
"answer": "It is a solidity function to throw an exception if a certain condition is not met",
141+
"correct": true
142+
},
143+
{
144+
"answer": "It is a way to declare how much native tokens a function requires to work"
145+
}
146+
]
147+
},
148+
{
149+
"question": "What is the word payable used for?",
150+
"options": [
151+
{
152+
"answer": "A modifier for addresses variable to use the .transfer() and .send() functions with them"
153+
},
154+
{
155+
"answer": "A keyword in a function declaration to let the function receive native tokens"
156+
},
157+
{
158+
"answer": "A keyword for functions and addresses so they can receive native tokens into the contract"
159+
},
160+
{
161+
"answer": "All of the above",
162+
"correct": true
163+
}
164+
]
165+
},
166+
{
167+
"question": "What is a private key?",
168+
"options": [
169+
{
170+
"answer": "A secret key that has privilege access to certain functions in a contract"
171+
},
172+
{
173+
"answer": "A key to access private variables in a smart contract"
174+
},
175+
{
176+
"answer": "A key that gives total access to whomever holds it to have **full control** of an account and its assets",
177+
"correct": true
178+
},
179+
{
180+
"answer": "A key that is not accessible from another contract"
181+
}
182+
]
183+
},
184+
{
185+
"question": "In which cases can we share our private key or seed phrase?",
186+
"options": [
187+
{
188+
"answer": "Anytime, they are not important as long as i have my address"
189+
},
190+
{
191+
"answer": "Only to friends and/or family"
192+
},
193+
{
194+
"answer": "Only when I login into a webpage or service"
195+
},
196+
{
197+
"answer": "**Never**, **absolutely never**, **to no-one**. I acknowledge that if I share my private key, whomever gets it can withdraw absolutely every asset from my address and sign documents on my behalf ",
198+
"correct": true
199+
}
200+
]
201+
}
202+
]
203+
}

0 commit comments

Comments
 (0)