Skip to content

Commit 06e05a8

Browse files
committed
feat: convert initial lesson lists to story-like paragraphs
1 parent ee78e9f commit 06e05a8

File tree

6 files changed

+135
-33
lines changed

6 files changed

+135
-33
lines changed

src/pages/lessons/projects/6.mdx

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ import { LessonHeader } from "../../../components/mdx/LessonHeader";
2121

2222
## About this lesson
2323

24-
If you're eager to learn how to create your first ERC20 token, you're in the right place.
24+
If you're eager to learn how to create your first ERC20 token, you're in the right place. There are
25+
a multitude of uses for the ERC20, and we'll introduce you to some of them.
2526
We'll be building a smart contract with a range of developer tools, including the use of Foundry.
2627
If you are new to coding, we suggest that you first complete our _Getting Started with Smart Contract
2728
Development_ project, to get to grips with the basics of Solidity you'll need in
@@ -41,41 +42,51 @@ source of much of our well-being. 🌱
4142

4243
## What are we creating?
4344

44-
At the end of this lesson you will be able to create your own ERC20 tokens, and
45-
you will be able to change its properties in any way you need.
45+
By the end of this lesson you will have created your own ERC20 token, and
46+
you will be able to change its properties in any way you need.
47+
But before we go any further, let's check-in and see what building blocks you have already.
4648

47-
## Tokens, Crypto, Coins, ERC20, is it all the same?
49+
<SideDrawer
50+
buttonText="Warm-up Questions"
51+
title="Check out Your Previous Knowledge"
52+
>
53+
<Question question="lesson-6/1-intro/Q1" />
54+
<Question question="lesson-6/1-intro/Q2" />
55+
<Question question="lesson-6/1-intro/Q3" />
56+
<Question question="lesson-6/1-intro/Q4" />
57+
<Question question="lesson-6/1-intro/Q5" />
58+
</SideDrawer>
4859

49-
Let's begin with some context, so we all speak the same language.
60+
We hope that was a little eye-opener for what's to come!
5061

51-
The Ethereum blockchain (and most EVM-compatible blockchains) has a native token
52-
that is used to pay for transaction costs, and also to reward validators in
53-
Proof of Stake, or previously miners in Proof of Work. In Ethereum that native
54-
token is Ether (or ETH), in Polygon its MATIC, and so on.
5562

56-
Let's focus on the Ethereum blockchain for the sake of clarity.
5763

58-
Every _other_ Token or "Crypto" you see, use or interact with in Ethereum is
59-
basically a smart contract that lets you send these tokens, receive them and
60-
check your balance.
64+
### Tokens, Crypto, Coins, ERC20, is it all the same?
6165

62-
Stablecoins like **DAI**, Tether (**USDT**), USD Coin (**USDC**) or tokens from
66+
Let's begin with some context, so we all speak the same language. The Ethereum blockchain, and most EVM-compatible blockchains, have a native token that is used to pay for transaction costs, and also to reward validators in
67+
Proof of Stake (previously miners in Proof of Work). In Ethereum that native
68+
token is Ether (or ETH), in Polygon its MATIC, and so on. But let's focus on the Ethereum blockchain for the sake of clarity.
69+
70+
Every _other_ Token or "Crypto" you see, use or interact with on Ethereum is
71+
basically a smart contract that lets you send these tokens, receive them and
72+
check your balance. Stablecoins like **DAI**, Tether (**USDT**), USD Coin (**USDC**) or tokens from
6373
projects like Uniswap (**UNI**), MakerDAO (**MKR**), Basic Attention Token
6474
(**BAT**) are all smart contracts that follow a standard, the ERC20 standard.
6575

66-
## Why do we want to create yet another Token?
76+
### Why would we want to create yet another Token?
6777

68-
A lot of reasons, but here are some:
78+
{/* A lot of reasons, but here are some:
6979
70-
- We are learning and we want to know how the ecosystem works
71-
- We have a project or DAO that needs some means of governance
72-
- We have a community that wants to be a part, take some ownership or support
80+
- We are learning, and we want to know how the ecosystem works
81+
- We have a project, or DAO that needs some means of governance
82+
- We have a community that wants to be a part of, take some ownership of, or support
7383
our project
7484
- We need a token with extra functionality that doesn't exist yet
7585
76-
The possibilities are endless.
86+
The possibilities are endless.*/}
87+
A lot of reasons, but here are some. The most fundamental one is that we are learning, and want to know how the ecosystem works. Or we have a project, or DAO that needs some means of governance, or a community that wants take some ownership, be part of, or simply support our project. Maybe we need a token with extra functionality that doesn't even exist yet. The possibilities are endless!
7788

78-
## What do we need to do with our Tokens?
89+
### What do we need to do with our Tokens?
7990

8091
Some basic functionality that our tokens need to provide are:
8192

@@ -85,13 +96,16 @@ Some basic functionality that our tokens need to provide are:
8596
- Approve an amount of tokens from an account to be spent by a third-party
8697
account
8798

99+
{/**@7i7o it might be cool to have these sentences to open a paragraph before the side-drawer, instead of on line 132
100+
Although I don't know if you want to 'associate' OZ with the actual functions and events you lay out in the side-drawer. */}
101+
Has someone created a battle-tested library for the standard? Yes. OpenZeppelin, among others, has created an implementation we can inherit to create our own tokens easily. Here is a quick overview of what {/*maybe another word choice for 'what' e.g. 'functionality' or 'the components'*/} a contract needs in order to be called an ERC20 Token
102+
contract:
103+
88104
<SideDrawer buttonText="More info on the ERC20 Standard">
89105

90106
To achive the functionality needed for an ERC20 token, the standard requires us
91107
to implement 9 methods and 2 events.
92108

93-
Here is a quick overview of what our contracts needs to be called an ERC20 Token
94-
contract:
95109

96110
```solidity
97111
// Methods:
@@ -115,17 +129,12 @@ You can check the details in the full EIP-20 titled
115129

116130
</SideDrawer>
117131

118-
## Has someone created a battle-tested library for the standard?
119-
120-
Yes. OpenZeppelin (among others) has created an implementation we can inherit to
121-
create our own tokens easily.
132+
{/*Has someone created a battle-tested library for the standard? Yes. OpenZeppelin, among others, has created an implementation we can inherit to create our own tokens easily.*/}
122133

123134
## Let's code, but first...
124135

125136
Before we start hacking away without any structure to follow, what is our
126-
project's structure and what do we want to achieve?
127-
128-
Since we are _BUIDLING_, i'd like to think of our project, or smart contract,
137+
project's structure and what do we want to achieve? Since we are _BUIDLING_, I'd like to think of our project, or smart contract,
129138
the same way as we would _roughly_ build a house:
130139

131140
* 1 - Foundations
@@ -135,9 +144,7 @@ the same way as we would _roughly_ build a house:
135144
* 5 - Final touches
136145

137146
Before we build, we need a stable, leveled surface to place our foundations so
138-
we can build on top.
139-
140-
The tools for coding and the project's file/folder structure will be our
147+
we can build on top. The tools for coding and the project's file/folder structure will be our
141148
foundations.
142149

143150
## Setting up Foundations
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"question": "",
3+
"options": [
4+
{
5+
"answer": "choose me",
6+
"correct": true
7+
},
8+
{
9+
"answer": ""
10+
},
11+
{
12+
"answer": "choose me",
13+
"correct": true
14+
},
15+
{
16+
"answer": ""
17+
}
18+
]
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"question": "",
3+
"options": [
4+
{
5+
"answer": "choose me",
6+
"correct": true
7+
},
8+
{
9+
"answer": ""
10+
},
11+
{
12+
"answer": "choose me",
13+
"correct": true
14+
},
15+
{
16+
"answer": ""
17+
}
18+
]
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"question": "",
3+
"options": [
4+
{
5+
"answer": "choose me",
6+
"correct": true
7+
},
8+
{
9+
"answer": ""
10+
},
11+
{
12+
"answer": "choose me",
13+
"correct": true
14+
},
15+
{
16+
"answer": ""
17+
}
18+
]
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"question": "",
3+
"options": [
4+
{
5+
"answer": "choose me",
6+
"correct": true
7+
},
8+
{
9+
"answer": ""
10+
},
11+
{
12+
"answer": "choose me",
13+
"correct": true
14+
},
15+
{
16+
"answer": ""
17+
}
18+
]
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"question": "",
3+
"options": [
4+
{
5+
"answer": "choose me",
6+
"correct": true
7+
},
8+
{
9+
"answer": ""
10+
},
11+
{
12+
"answer": "choose me",
13+
"correct": true
14+
},
15+
{
16+
"answer": ""
17+
}
18+
]
19+
}

0 commit comments

Comments
 (0)