You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<LessonHeadertitle="Lesson 2: Build a Basic NFT" />
25
26
26
27
## About this lesson
27
28
28
29
Welcome to this lesson on creating a series of NFTs using Solidity smart contracts with a range of developer tools. If you are new to programming, we recommend you first complete our *Getting Started with Smart Contract Development* project, where you can learn the basics of Solidity and the some of the concepts we use in this lesson. We alst have a series of follow-up projects to this one, the next one being *TierNFTs*, but let's not get ahead of ourselves just yet.
29
30
30
-
We have some checkpoint questions for you throughout the lesson for testing either your previous knowledge, predicting next steps in the lesson, or letting you see for yourself how well you're absorbing the new content. Needless to say, there's a quiz at the end, so make sure you're checking out all the side-drawers for a deeper dive of the new concepts. To complete the lesson, expect somewhere between one and six hours depending on your previous experience and the need to learn new ideas. Let's make developing enjoyable, by taking care of our well-being. We have a pomodoro timer ⌛ for you to set in the menu header so you can take regular breaks, and please *do* go outside and 'touch some grass'😊. Nature is the source of much of our well-being.
31
+
We have some checkpoint questions for you throughout the lesson for testing either your previous knowledge, predicting next steps in the lesson, or letting you see for yourself how well you're absorbing the new content. Needless to say, there's a quiz at the end, so make sure you're checking out all the side-drawers for a deeper dive of the new concepts. To complete the lesson, expect somewhere between one and six hours depending on your previous experience and the need to learn new ideas. Let's make developing enjoyable, by taking care of our well-being. We have a pomodoro timer ⌛ for you to set in the menu header so you can take regular breaks, and please *do* go outside and 'touch some grass'. 😊 Nature is the source of much of our well-being 🌱
32
+
31
33
32
-
PART 1 INTRO
33
34
## What are we buidling?
34
35
35
36
In this project we will build a basic NFT smart contract, that will serve us as
36
37
the backbone or foundation for almost any future NFT project.
37
38
38
-
<SideDrawerbuttonText="Previous knowledge + prediction for parts 1 and 2"title="Build on your previous knowledge">
39
+
But let's pause quickly for a few questions to see what you already know, and give you a flavour of what's to come.
40
+
41
+
<SideDrawerbuttonText="Warm-up Questions"title="Some previous knowledge, some prediction">
39
42
<Questionquestion="lesson-2/1-intro/Q1" />
40
43
<Questionquestion="lesson-2/1-intro/Q2" />
41
44
<Questionquestion="lesson-2/1-intro/Q3" />
42
45
<Questionquestion="lesson-2/1-intro/Q4" />
43
46
<Questionquestion="lesson-2/1-intro/Q5" />
44
-
</SideDrawer>
45
-
<br/>
47
+
</SideDrawer>
48
+
How did you find that? No worries if the answers didn't come easily. We're here to fill
@@ -79,7 +84,7 @@ By the end of this lesson we'll have learnd a lot. A simple breakdown of the ste
79
84
-*Mint*, i.e. create our very own NFT
80
85
- See our NFT in a public marketplace
81
86
82
-
PART 2 TOOLS/ENVIRONMENT
87
+
83
88
## Set up your environment
84
89
85
90
Like the pros. For that we are going to set up our working environment in our
@@ -92,13 +97,14 @@ To begin our project, we should open a command line interface, a.k.a. console. C
92
97
options on how to use one below. We will be using `npm`, the package manager from Node, and its command `npx`that allows us to run or execute a package or one of its scripts. If you are
93
98
comfortable with another package manager, feel free to use it.
94
99
95
-
PLEASE HELP ME FIND CLI-LESSON PATH FOR SIDE-DRAWER COMPONENT:
96
100
<SideDrawertitle=""buttonText="Getting Started with the Command Line Interface">
97
-
<InstallNpm/>
101
+
<CliLesson/>
98
102
</SideDrawer>
103
+
99
104
<SideDrawertitle=""buttonText="How to install NPM on your system">
100
105
<InstallNpm/>
101
106
</SideDrawer>
107
+
102
108
Let’s create and `cd` into our D_D Academy projects folder, and create a
103
109
folder for our NFT project:
104
110
@@ -133,10 +139,7 @@ Once we have our environment set up, we need to create a project.
133
139
We run the `npx hardhat` command to create a basic project:
134
140
135
141
<SideDrawerbuttonText="What on Earth is Hardhat?">
136
-
Since we’re flying to Jupiter, we need safety apparel! That’s what Hardhat is.
137
-
138
-
It provides a blockchain for us along the way, where we can have lots of value
139
-
on it, and we can waste as much as we want and get hit on the head with
142
+
Since we’re flying to Jupiter, we need safety apparel! And that’s what Hardhat is. It provides a blockchain for us along the way, where we can have lots of ETH in our wallet, and we can waste as much as we want, and get hit on the head with
140
143
asteroids without getting any scars.
141
144
142
145
Hardhat lets us do all the things we did in Remix, but instead of clicking
@@ -229,7 +232,7 @@ widely used and fully tested and audited.
229
232
</SideDrawer>
230
233
<br/>
231
234
232
-
<SideDrawerbuttonText="Assessment of part 1 and 2 and prediction of 3"title="Assessment of part 1 and 2 and prediction of 3">
235
+
<SideDrawerbuttonText="Checkpoint Questions"title="Creating a Robust Development Environment">
@@ -504,8 +506,7 @@ and files that we prepared, and move on to the next section.
504
506
- If you want to create your own images and have an NFT of your own, why not take the winding road and learn a little about the standard used to identify NFTs
505
507
and a solution to store files in a decentralized way.
506
508
507
-
PART 5 JSON/IPFS (SEPARATE SIDE DRAWER QUIZ)
508
-
<SideDrawerbuttonText="Assessment of part 4 and prediction of 6"title="Assessment of part 4 and prediction of 6">
509
+
<SideDrawerbuttonText="Checkpoint Questions"title="Creating NFT ID with the Power of Inheritence">
509
510
<Questionquestion="lesson-2/4-nft-id/Q1" />
510
511
<Questionquestion="lesson-2/4-nft-id/Q2" />
511
512
<Questionquestion="lesson-2/4-nft-id/Q3" />
@@ -516,6 +517,7 @@ PART 5 JSON/IPFS (SEPARATE SIDE DRAWER QUIZ)
516
517
517
518
<SideDrawerbuttonText="Longer Path (learn about JSON and IPFS)">
518
519
## JSON
520
+
Go touch some grass, and set your pomodoro when you get back ⌛😊
519
521
520
522
We have most of our smart contract ready, so we are going to focus on the media
521
523
that we want on our NFTs.
@@ -643,7 +645,7 @@ an IPFS service will surely help you get ahead in your learning.
643
645
644
646
Have your json files folder IPFS link saved (the full link, that links to all
645
647
the files), for we will use it in our next step.
646
-
<SideDrawerbuttonText="Assessment of part 5 and prediction of 6"title="Assessment of part 5 and prediction of 6">
648
+
<SideDrawerbuttonText="Checkpoint Questions"title="Web3 File Storage and Good Practices">
@@ -849,8 +849,8 @@ they can take full control of the wallet, and empty it of all that is in it!
849
849
To be able to deploy our contract, we are going to use that number, that's why
850
850
we recommend, yet again, to use a separate wallet for developing.
851
851
852
-
We need to inform Hardhat what node are we using to connect to the
853
-
blockchain/network
852
+
We need to inform Hardhat which node we are using to connect to the
853
+
blockchain/network.
854
854
855
855
Once you have your wallet funded with test eth, you need sign up for one of the
856
856
Ethereum RPC Node Providers. Alchemy and Infura are the most used, Ankr has a "community endpoint" without signing up that is not dedicated, to list a few options.
@@ -905,7 +905,7 @@ Please, if you are already a developer and you plan to use git to store your
905
905
project, don't store your `hardhat.config.js` on it, because you will have your
906
906
private key there.
907
907
908
-
<SideDrawerbuttonText="Assessment of part 7 and prediction of 8"title="Assessment of part 7 and prediction of 8">
0 commit comments