Loading video player...
Hi everyone, welcome back to yet another
project video. In this project, you're
going to build full monkstank blockchain
tab for music industry where artists can
create their music on the blockchain and
we have all the latest feature which you
will find on the real world application.
This particular dab is completely ready.
We're going to build complex algorithm
which going to find out which is the
most popular music on our platform and
that's going to highlight here in the
popular section in proper order. Then
we're going to attach the feature of
liking a music and putting nested
comment system. We also have a feature
of following and unfollowing a user. We
will have a feature of creating a
profile and all of this data we are
storing in our backend server. We are
only keeping those sensitive and
important data which is required to keep
into the smart contract on the
blockchain. We also going to build our
own internal exchange where you can able
to integrate unis swap buying NFT
swapping token that's all feature you
will find we'll also have a feature
where user can verify their account by
paying a small fee we'll also allow the
user to buy credit and they can create
their own music on our platform there is
tons of things we have in this
particular project we're going to build
a complete project from start to end
where you're going to master all the
latest technology which you have to know
as a blockchain developer. So we're
going to focus on MongoDB, Express,
NodeJS Nex.js React component
structure architecture design every
single thing we're going to build in
this particular project that will teach
you how you can build a real world
application. With that said, now let me
give you a quick walk through that what
exactly we're going to build and what
are the page and components we have, how
it looks. So you will have a proper idea
before we deep dive into the development
part. So this is how our application
would look like. This is the homepage.
which you can simply scroll down and you
can able to see all the music uploaded
by different artists including their
profiles and whether their account is
verified or not. So that's the homepage.
The very first section we have on the
left hand side we have our side
navigation bar and this is 100%
responsive as per the different screen
sizes. So here you will find the home
component. Then we have the viral sound.
Then we have explore. Then we have
notification. Then we have profile and
here we have the create. So you can
click and you can create your music.
Then we have the top profiles which we
are highlighting here. Now on the middle
section we have the global search bar.
So you can literally search for any
music. For example, I want to search for
this music. I can type Jimmy and you
will see the entire post entire music is
got filter out. And here we got that
one. So this is the global search we
have included for the music. Now we have
the second component is the popular
music section. And this one is the
dynamic section which will be get
populated based on the popular music and
this popular music we are defining based
on the like you can do on the view you
can do on the comments it's totally up
to you but the algorithm is same which
we going to build. So here we have the
music then we have our profile section.
So you can click here and here you will
have all the different menu. So you will
have your name, you will have your
address and here you will have the
balance which you have in your wallet.
And here you can see which is say no
which we'll talk about in the project
that why it's no because this user at
the time of creating account use a
different wallet address but now he's
connected with the different wallet
address that's why it says no. We have
an ICO as well. So you can simply click
on that and you can able to buy the
native token of this particular
platform. We also have a feature called
send. So you can click and you can
transfer fund to any wallet address. So
that's our navigation section and here
we have different menu profile explore
create and log out which we'll talk
about it. So you can simply select any
music. You can select this one. You can
select this one and all the data will
change real time. So here we have this
information. You can click on this and
you can click on this and it will work
absolutely fine. You can go to the next
music.
You can go back here and you can simply
unlike the music and you can like the
music. Everything is working fine. So
you can see it's 100% dynamic. You can
click here and you can able to get
credit. So right now this particular
account has 48 credit left. If you want
to buy you can more but right now you
can see this particular account which is
my it's verified. So if you are not
verified you will have another option
called verifying which I will show you.
Just wait. So this is what we have here.
you will find all the user which you are
not following and here you will find all
the user which you are following. So if
I want to unfollow this particular webby
I can do that very easily. I can click
on follow and this data will change at
the real time. I can simply follow her
and this data is looks right. I can
follow her and all of things which are
updating at the real time. You can see
you can follow you can unfollow that's
all looks pretty good. So this is how
you can follow and unfollow. Now we have
this create. You can click on this and
it will take you to the create page.
Here we have the music. So let's talk
about it. So here we have the name. We
have the time. This is the description
of the music. And this is the name and
the image. And you can simply check the
profile of the user who created this
particular music. And you can also
select the music from here as well if
you want to play it. And here we have
the few interesting things. So right now
you can see this music has no like. So
if I want to click on this like it will
automatically like and I can select it.
All the data will change here as well.
From here you can able to verify the
transaction which done in the smart
contract and the data is registered on
the blockchain. So I have deployed this
particular contract on a polygon anomaly
which is the new network introduced by
polygon. So then the contract is
deployed there and here I can put a
comment on this particular one. So I can
simply come back here and right now this
particular post has no comment. So I can
simply give I'll say thanks for music
and I can put a comment and here the
comment is reflecting here. If I want to
like this comment I can do that. I can
click on this view all comment and here
we have all the comment. If I want to do
the editing of the comment I can click
click and I can simply change this chain
coder
music and I can simply click on this
edit command and this data will reflect
here. Right now you can see sometime the
data takes a little bit time because
these data we are also reflecting in our
smart contract. So this data takes a
little bit time. Now if you click on
here this time the data will reflect
here. Here we have the data because the
two transaction is happening internally.
You can also like this particular
comment. So I have successfully liked
this particular comment. So if I want to
reply to this comment, I can simply
click here and I can put a reply. I'll
say okay dollars
thanks
for the music. So simply click on this
post and this data will reflect here. So
again you have to wait the process will
take a little bit time and now you can
come back here. You can click and you
can click on this. Here we have that. So
the data takes a little bit time because
we have two transaction taking place. If
you want to delete you can do that very
easily. You can click on this only you
click on that and this will delete the
message. Now if you come back here view
all the message is not there. So this is
how you can do that. So this is for the
comment. You can simply like or you can
unlike you can click and this will take
you to the test network where you can
able to verify the transaction that how
much gas fee you have taken, how much
data is there in this particular
transaction hash. Now come back here and
here we have this one and this feature
is very important when you are building
any kind of decentralized app where you
have to provide all the information what
you are keeping into the smart contract.
So if I click on this it's going to open
this pop-up model here I can able to see
all the information. So this is the in
name. This is the user who created this
is the image. This is the token ID. Here
we have the description. This is the
music. This is the contract address. So
you can click here and it will take you
to the test network. Here you will find
all the musics have created in this
particular contract. So all the
transaction which you can able to check
and here you will find the
details about the exclusiveness. So this
is what we have. This is all the
information is reflecting here. I can
simply like this one and I can unlike
sorry unlike and like. So this is how
our homepage is going to look like. So
this is the first section of our
application all the thing. Now I have
one more thing to show you one global
search. So here we have an button click
on that and here you will find all the
artists who have created music on our
platform or who have created their
account. So you can easily able to do
the global filteration. So if I want to
search for a shali, I can simply search
for it. And here I got the profile. If I
want to simply remove it, I want to
search for dollar, I got the profile. So
this is how you can do a global search.
So this is the homepage of our
application.
Now let's come back to the next
component we have called viral sound.
And here you will find all the sounds
got deployed recently. That's all it's
going to look here. You can simply do
the filteration. So I'm looking for a
smoking and here we have the two posts
related to the same name. So we are
doing the filteration based on the title
but you can do and implement any
algorithm.
If you remove it will reflect all the
post. You will find the stats. So you
will find the user who created like the
likes and the comment. That's all you
will find here. Now we have the explore
section. So click on this explore and
here you will find all the artist using
your dav and they have created the
account and this is a very important
data you have to provide when you are
working in a decentralized platform. So
from here user can simply go and explore
their feed that what are the posts they
have created that's all you will find
here and here you will also find the
popular post the popular music and you
can able to do the filteration so I can
simply do that and that's all will
reflect here. So I can simply filter
that. So this is the explore section.
Then we have this notification section.
Click on that. And right now I can
simply subscribe to the email list and
this is a very important feature as well
because you have to collect the data so
you can do marketing letter. So I can
simply put my email and I can simply
click on submit and the email is sent
successfully to my email address.
As you heard the noise that I have
received the email. So this is a very
important feature we have. So we have
seen the notification. Now let's come
back to the profile. And here we have.
So you can see I have this background
image, I have my profile, I have my name
and I have this verified badge because I
have paid the money for getting this
badge. Here you will find the stats. So
there there are a lot of data we have
which we can include but I'm going with
this four one. So number of post, number
of follower and number of following. You
will find the suggesting follower. You
can simply follow any follower here. I
can simply click here and I can follow
and this number went up to six. I can
also edit my profile. So I can simply
come back here and you can able to see
all the post which I have created in
this particular music platform. That's
all you will find here. I can simply
select and it will reflect here
due to copyright I'm not playing music.
So this is the music you will find here.
So this is the profile section and we
have the search bar as well. You can
click and you can go to the different
section. Now come back to the individual
profile page. So here you will have the
popular profile. So you can click on
this and it will take you to the creator
page and here you will have the details.
So you can do exclusive source or you
can go to any profile. So this is the
default. So those who will not update
their profile picture and the
background, this is how it's going to
look.
This is what we have. Now let's come
back to profile update which I will show
you. But before we do that, let's do one
thing. Let's try to create a music. So
I'll go back here. You can see this is
the logo which I'm using. I can simply
click on this what's in your mind and it
will take me to the create page. Here
you will find all the music which you
have created your account. So you can
simply do the filteration. I can do the
filter and I can see the stat that what
type of music are performing build and
based on that I can create further
music. So I can simply upload a new
music. So I can click here. I can go to
my downloads and here this is the only
music I have. So I'm going to use it and
I'm going to select on. So this
particular music will deploy to the
IPFS. We are using pinata as a IPS
provider and the music is uploaded
successfully. You can simply play or you
can simply click and you can do fast
forward or you can download and from
here I have to upload a cover image for
the music. So I can simply click here go
back to this go back to the one and here
we have the images for this particular
music. So I going to select let's for
this is the one I'm going to select. So
again this particular will upload to the
IPFS. So finally let's upload it. Now I
have to give the title and the
description. So I'm going to say
hey Shami and for the description what I
just call. So I can come back to here
and I'm going to receive couple of dummy
text from here. Let's come again. This
starter file is given to all of you
guys. So come back here. I'm going to
paste here and this is the description I
have given. Now I have to click on this
create. So this will check whether I
have the credit or not. If I have the
credit then the transaction will take
place otherwise the transaction will not
take place. It will open a pop-up model
which say to buy credit. So it's taking
a little bit time just wait and here I
got the pop-up model I can simply click
on this
and now I have to simply confirm the
transaction. Once the transaction will
confirm it will register our music on a
decentralized IPFS and it will also
store the information into our contract.
So just wait and finally the transaction
is completed and here you will find the
music we have created. If you come back
to the home then you will find the music
we have just now register. So this is
the music we have created. You can
simply select this one and you can start
playing. You can simply like
unlike or you can even verify the
transaction. And this is how you can
create music. If I see my credit it went
down to 47. Earlier I had 48. So if I
want to buy more credit, I can simply
pay this much fund and it will be
transferred to the owner of the contract
and I will have more credit. So now you
have seen how you can create. Now I want
to show you few more things. So if I
click here, I can buy the native token.
So right now the available ICO is 955
and my balance is this much. So I can
easily to buy couple of token. The price
of one token is this much. So I can
simply I want to buy 10 token. So this
much fund I have to pay if I want to buy
10 tokens. So I can click on this buy
token. It's going to make a call to our
smart contract and it's going to
transfer the token. So here we have I'm
paying this much fund. Click on confirm
and it's going to transfer the token to
my wallet address from the ICU contract.
So still the transaction is in pending
mode. Just wait. Once the transaction
will complete the fund will be
transferred to my account and the token
will be transferred.
And finally the token is transferred
successfully. You can click here on the
token and you will see it went up by
five. So I already have this much token.
So this looks fine. So this is how you
can buy token. Now you have already seen
how you can transfer the fund. So you
can click here. You can give the amount
which you want to transfer. So this time
I'm going to use this particular
account. So click here. Go back to the
account one. This much fund this
particular account has. So I can simply
copy this one and copy the address. Now
I can come back to the account number
six and I'm going to transfer couple of
bucks. So I can come here. I want to
transfer let's say one this much fund I
want to transfer to that address. So I
can click here and I have to simply
connect this much fund I have. I can
click on this send and it's going to
open the metamas. I have to confirm the
transaction. So just wait confirm. And
here it say check your metam mass. So
just wait let's see. And here the
transaction is still in pending mode.
And this is very important. Sometime we
have to check the state of the
transaction which you going to learn. So
here it's in the pending mode. Once the
transfer of the fund will take place the
fund will be reflected and that
particular wallet address and here it's
went down to 8 from 9. So we have done
the transfer successfully. Looks pretty
good. So this is the two feature from
here you can able to buy any token you
can able to do the swap. So you can able
to explore all the tokens in the
marketplace and you can simp please
select that and you can simply select
the other token and you can do the
transaction. If you want to take the NFD
you can do that. If you want to check
the pool you can check that. You can
perform the swap. All the feature we
have included. So this is the exchange
here. You will have already seen the
information about the artist and the
song details. We have also seen the
global search. And now let's try to buy
couple of credit. So I already have this
much credit but I want to buy more. So I
can click on this get credit. It's going
to make two call. One call to our smart
contract and the other call to our back
end. So this much fund I have to pay for
buying 50 credit. So I can click on this
confirm and the transaction will take
place. So you can see the transaction
completed successfully. If I come back
here, you will see it's in pending mode.
It's taking a little bit time. Soon the
transaction will complete and the fund
will be transferred to my address and
you will have more credit. So the
transfer is completed. I can simply come
back here, go to the credit section and
here you can see it went up to 97. So we
have bought some credit. So you have
seen that feature as well. So looks
pretty good. Now I want to show you few
interesting things. So now this time I'm
going to use this particular account
Raju.
So first I'll come back here. Click on
this and you can also go to different
pages from here like you can click this
and you can go to the create page from
here as well. Let's come back here and I
want to use Raju account. So let me show
you what a new user will see when they
will come to your application for the
very first time. So click on this. Go
back to the log out and finally we are
logged out from our application. And
this is what the user will see when they
will come to our application for the
very first time. So this is the login.
If you have your account, you can simply
login. But if you don't have your
account, you can simply create. So click
on this sign up. And here we are
providing two option to the user. So
what if the user don't have Metamas
installed in the browser and they want
to create their account and use our
application. So in that case we are
using this create account. So this
create account will create the wallet
address and private key for the user
which we'll provide in their profile
section. So the user can copy and they
can utilize it in the metamas wallet and
if the user wants to sign up with the
metamas mean connect wallet it's a
metamas so they can use the existing
wallet in the metamas and they can
create their account so we are having
the both method we are providing the
both method first let's check out the
login functionality after that we're
going to focus on the create so let's
login with the raju so I have this array
ju this is the email id which I have
used and I have the password like 1 2 3
4
Click on this login and here I'm back
into the Raju profile. So if I come back
to the profile section this particular
account is also verified. So you can see
this particular user have not created
any post any music. If I check the
credit you can see it has 50 credit. So
it can create. Now let's try to check
the account which has no verifi
verification. So I'm going to use the
SI. So let's come back here and log out
and let's this time use SI
and 1 2 3 4 5 click on this login and
here I'm back into the SI account. So if
I click on this profile you can see S is
not verified. If she wants to verify she
can click here and here she will have
this particular option and this much
fund she has to pay to get a verify
badge. So I can click on this verify.
Now it's going to make the transaction
and most once the transaction will
complete the fund will be transferred
and she will have a verified batch. So
just wait the transaction is still
pending. So just wait the transaction is
taking a little bit time. Once the
transaction will complete we'll have our
verified batch
and finally the transaction is
completed. And here we have our verified
batch. So if I come back to my profile,
you can see now Sally is a verified
profile. So this is how the verification
is exactly working and you can see we
don't have the banner and the profile
image. So how the user can upload. So
here we have this particular option
called edit profile. So they can click
on this edit profile. It will take them
here and from here they can edit all the
details about their profile. So you can
see they can upload their avatar, cover
picture, display name, biography and
here we have the interesting thing. So
here we say check your metam mask for
private key because this particular user
use metamas for creating account. So in
that case we are not taking the private
key but those who will not use the metam
mask for cing account they will use the
internal function in that case we going
to display the private key here. So they
can simply copy and they can utilize it.
They can simply update all of this
information. So let's update that. So
I'll say that's the name icon mobile and
let's come back to the descriptions. I'm
going to simply copy some dummy text
from here. Copy and paste here and don't
need to do anything in here. We have
this wallet address and from here I can
simply provide. So I can simply come
back to the blockchain coder
and I can simply provide this one.
If I click on the save the data is
saved. Now if you refresh you can see
all this data stick here. But now we
have to simply upload this one. So we
have updated all of this basic
information about the user and now they
can update their cover avatar and cover
photo and one thing I want to highlight
that this is one time update. So once
the user update they cannot change
because we are keeping this information
on the blockchain. So I just want to
highlight that. So if I click on this it
will take me here and I can simply
change and pick a profile which I want
to upload. So I can come back here and
let's pick a image. I'm going to use
this one the logo.
Here it's saying uploading profile and
once it will upload it's going to
reflect here. So here we got it. I'm
using the same logo. I have to pick the
cover photo. So I'm going to say here I
have to pick assets and I'm going to
pick a banner. So this time I'm going to
select something like this one this way
and it's going to simply upload. Here we
have so it's updated successfully. Now
if you come back home, if you go to the
profile, you will see we have the banner
and this is the logo and it's changed in
all the places. So this is the mobile
you can it looks pretty good. If you
come back here, you will find the
details here as well. So this is the
mobile is also looking good in all the
places got changed. You can come back
here. So you can see it has no credit.
So it cannot create an account. So this
is the one way of login. Now let's talk
about the account creation. So I can go
back here in the log out section. go to
the sign up and here we have this two
options. What if the user don't have
metamas and they want to create the
account so they can do it by this
option. So we're going to test this then
after that we're going to test this one.
So this time I'm going to select call
create okay
create
and I'm going to say 1 2 3 4 5. I can
click on this create account and here
it's going to create an account. So this
is the image by default we are
displaying and here we got it back. So
if I go back here in the profile
you can see we have all this details. I
can go back to the ICO and all
everything looks good. The name is not
reflecting here because the user have
not updated their name. If you come back
to the profile this is what we have here
the create no information. If you go to
the edit section and here we have the
private key the wallet we have created
with our system. So user can simply copy
this one. They can come back in the
metam mas.
They can go back here. They can go to
this account, import, paste the ad and
import. And here they have their account
in the metamas imported successfully.
They got the account imported.
So this is how they can import their
newly created account. So let me come
back to the account number six. and they
can update and they can do the same
thing. So this is how they can create
their account without using the metam
mask. Now let's simply log out because
this time we're going to use metam mask
for cing the account. So we have logged
out and there's no problem if you can
simply loged out there's no problem
still you will have all the data but if
you try to interact with the contract we
need the signer object. So if you click
on here it will open the metam mass and
it will ask for the signer object. So we
have to simply provide that hit enter
and then you're going to have all the
details about the contract. You can see
it will reflect here. So this is the
logic very important. You have to only
interact you have to only call metamas
that time when you are interacting with
the contract and the blockchain.
So looks pretty good. We got it. Looks
good. Now let me show you the other way.
So simply log out and this time I'm
going to use the metam mask for
creating. So first I have to simply log
out or you can simply do either way. It
will work absolutely fine. There's no
problem. And each time I'll say wallet
walletgmail.com.
Password is 1 2 3 4 5. And this time I'm
going to use this. So I'll say connect
wallet. It's going to open metamas. I
can give my password.
And here I'm connected. Here it says
create with metamas. Simply click on
that and it's going to create account.
Now if you come back here you will see
it's take the same wallet address which
I am connected with and it has created
my account.
Beautiful.
So this is what exactly you're going to
build in this complete project. It's
really powerful. You can simply like a
post and here you can see all the
statics changing instantly. I can simply
follow one. I can follow all the user.
I can follow all the user and here we
have that. I can simply unfollow the and
it's gone. Do the same thing. I can
simply update this all information.
That's all absolutely incredible. And
this is 100% mobile responsive as well.
So if I show you the mobile part as
well. So let me expand this one to show
you. So this is how it's going to look
on a bigger screen like 250. Let's make
it a little small. This is how it's
going to look on average dashboard.
We have all of that. You can have this
slider. You can play. We have this. It
will automatically close it down. You
can click. It will open. You can go to
the next page. You can go to the
homepage and you can close it. So we
have this expandable. You can go to the
little smaller and this is what you will
have. There is no problem. You can
simply slide through the top music which
you want to see. Listen and you can go
to the different section. Here we have
the another one. This is the mobile one.
And here we have the slider. You can see
all the post. You can simp play like
this dude and you can also play because
we are displaying different music player
down below in the more device. So you
can simply click and you can play. We
have this photo navigation. You can
simply go and different section.
You can see all this looks pretty good.
We have this music. So this is how it's
going to look the artist studio page.
Right now this particular user has no
music. You can go to the homepage and
there you will find all of that. So this
is how it's going to look. Absolutely
beautiful.
So I hope you guys have understood that
what exactly you going to build because
this is one of the powerful application
which you have to include in your
portfolio if you really want to attract
job and even you want to launch your own
like music platform on the blockchains
like every single thing is dynamic. We
going to follow a complex data structure
where we going to build an algorithm
which can find out the most popular
music based on the like and we'll have
an open options. This is what we're
going to build in the project. Now let's
come back to the second part of the
video that what are the tools and
technology and assets are required to
build this particular project. So all
the assets all the folder file structure
and the starter file is already provided
to all of you guys. So you can simply
come back to the blockchain coder here
you will find all the resources which
you need to build this particular
project. So simply go back to the source
code section and here you will find all
the project we have built on the
channel. So make sure to check one by
one that what exactly we have built and
covered in previous projects and that's
all you will find. So you can simply
type the name of the project or you can
simply do the filteration. So you can
simply click on this recent and this is
the project which we going to build and
I'm going to attach this particular
video which I'm recording and that I
will show you every single setups.
That's what I'm going to attach here. So
you can simply watch anytime. So simply
click on this get now you will come back
here and here you have provided all the
resources. So you can simply check. So
this is the video here you can click and
you can get the startup file. So click
on that. This will take you to GitHub
and here I have provided you all the
folder and file structure including the
SVG file and the images all the package
and all the instruction is given here
that what exactly you have to have in
your system and how you can do the
configuration. So that's all is provided
to all of you guys. In case if you take
the final source code you can simply
click here and get it. You can click and
you can watch the final source code
setup. This is the video which I'm going
to attach here. Now let's come back here
and here is the final source code. So
once you will buy the final source code
you will give your valuable contribution
to my team so we can bring more tutorial
like that and you guys can get help. So
let me show you that what exactly setup
you have to do once you will get the
final source code once you will take the
final source code. This is the zip file
you will get make sure to unzip that. So
this is the folder which I have unzipped
in that have this two folder the final
source code and the starter file and
this is what we have to open in our VS
code. So I'm going to simply click on
this VS code. Click here. Go to the
open. Then I go my desktop. Then I will
go upcoming. And here we have this
particular one. This is what you will
get. So mean select this one and open it
up. So we have these two folder. In this
music, you will have the entire source
code of the complete project. And this
is the starter file. In this rhyme file,
all the instructions are given to all of
you guys. Now let's come back here.
Let's close this one. Let's talk about
the final source code. So if I open this
one you will see we have bunch of folder
and bunch of files. So the very first
thing we have is the API. In that you
will find that we have built the entire
backend system using MongoDB. So this is
the controller section. In that you will
have the O controller, command
controller, conversation controller,
message controller. We have post story
and user. All of these API endpoints we
going to build together in the project.
So this is the controller. Now we have
this middleware. In that we have this
error middleware, upload middleware and
verify token which we going to build.
Then we have this models. We have
multiple models. So we have the model
for comment, conversation, message,
post, story and user. You can keep as
many information as you want. All you
have to do is to add this particular
variable. This is the model we have. Now
we have the router. This is for the
authentication command conversation
message, post, story and user. Then we
have the upload. So all the data we'll
test uploading that's going to be here
is just for testing purpose. So this is
the our API folder in which we are
controlling the entire backend system.
This is the API folder. Now let's come
back to the component the front end part
which we going to design. So in that
front end part we have a lot of
components. So this is the comment. In
that we have all comment comment box
comment button comment component reply
view update. So this is the comment
component. Then we have the create. All
of this component we have for create.
Then we have the account. Then we have
the explore component. In that we have
this two. Then we have the global
component. In that we have all of this
like artist, contract, credit, exchange,
footer loader mobile player play
now, profile menu, send, token, ICO.
Then we have the header. In that you
will have this multiple header as for
the responsiveness. Then we have the
home. In that we have multiple
components. Some of the components are
reusable in other section of our
application like feed, home, music,
avatar, card, music card, posting, post,
all of that we have. Then we have the
notification component. Then we have the
edit profile. Then we have the sidebar.
Then we have the sidebar. This is the
right sidebar. And this is the global
sidebar we have. And here you will have
all the SVG icons which is provided
which we are utilizing in the project.
Don't need to do anything. Here we have
this user profile. There you will find
all the different components and the
profile section we have. Then we have
the viral section and that you will have
the viral and the card and here we are
importing all the component and
exporting from here and utilizing in our
entire application. So this is the
component structure we are following
here. Then we have the context. So you
can see we have this three APIs of the
contract. So we have the first contract
is the ICO contract. The second one is
the music NFT contract and the third one
is our ERC20 token. And this ICO music
ICO to contract is dynamic. So literally
you can use any token for creating your
ICO. It's not limited to one but you can
create any token and list as an ICO.
Here we have the constants. So here we
have done all this configuration for
fetching all this data. So let me
explain you. First we are importing the
important modules. Then we are importing
the important JSON important AI of our
contract the three contract and here we
have this one. So in your case you have
to put your address because when someone
will buy and take your service the fund
will be transferred to this particular
vault address. So when someone's try to
verify their account in our platform
they have to pay this much fun. You can
charge as per your requirement. And then
we have this credit amount. So when
someone's try to buy credit for creating
music we are charging this much fund.
You can increase this fund or you can
decrease. It's totally up to you. So
this is a very important section where
you have to put your address and you can
charge whatever amount you want to
charge for verifying account and buying
credit. So we are done with this. Now
comes the contract section. So this is
the first contract for our ERC20 token.
If you have already deploy your contract
or token, all you have to do is to
simply provide the address here. This is
the ICO contract and its address. And
this is our music contract which going
to keep all the information about the
music and the tokens that's all going to
create. So here we have to simply
replace the address. So we're going to
deploy our contract one by one and all
we're going to do is to simply paste the
address
here. So this is the address section.
You don't need to do any changes here.
So right now you can see I'm focusing on
the test network like Polygon Anomaly.
But if you want to deploy this
particular contract to any other
network, you can definitely do that very
easily. So this is the configuration you
have to provide exactly. So all you have
to do is to give the name of the network
which you want to deploy. You have to
give the chain ID which you have to
provide. Here you have to give the name.
So this is the name. You have to give
the name and the currency symbol. What
is the decimal point? And here you have
to provide the RPC endpoint which I will
show you that how you can get this RCP
endpoint. And you can simply get the
block explorer. So if you are deploying
to Binance, you have to get the Binance
block explorer. But this is the
configuration which I have done for the
Polygon Anomaly. This one is for Polygon
Mumbai and this one is for Polygon
mainet and this one is for the Binance.
Right now I'm focusing and giving this
four option but you can configure more
network but I'm going to deploy my
contract to this particular one this
particular test network because Mumbai
is no longer available right now.
So we're going to deploy on the one
deploy this one and that's the
configuration I have already done here.
So you don't need to do any changes
here. Here you can see I'm calling this
particular network. So if you want to
deploy to Binance all you have to do is
to simply copy this one and that's what
you have to provide here. If you want to
deploy to avalanche make sure to do the
exact configuration and whatever name
you give to your avalanche that's the
one you have to provide here. But I'm
going to do on the polygon amole. So
this is the network configuration which
you have to do and the rest should be
fine. You don't need to do anything
because everything is dynamic. So this
is the fetch contract. You don't need to
do it. Here we have the ICO contract and
here we have the fetch. That's looks
good. So this is the entire constants.
If I come back to the context here you
will find that these are the packages we
are using. Here we are importing all the
module. So we are importing the amount
which we going to charge for credit
verification honor address and here we
have the functionality and the
addresses. Here we have created the
create object. So you can call it
whatever you want. So like if you want
to deploy to Binance, make sure to call
it BNB. And here you have to change the
network to Binance. It will
automatically change in all the places
in our application. And the rest will be
fine. You don't need to do anything. And
here you have to provide your API key
for Pinata and secret keys because we
are using pinata for deploying our data
to the IPFS. So here we have this create
music NFT. In this you have to provide
your API key which I will show you how
you can create and here you have to
provide your secret key and this
particular key which I have created just
now. So it will work fine but in future
it will not work because it has a limit.
So you have to provide in all the
places. So we have five to four places
in our application where you have to
provide your API key. So we don't need
to do anything in here. I'll show you
everything. This is for the create sale.
Don't need to do anything in here. Here
we have the ICU. So that's all the
configuration we have done for ICO and
here we have the buy token. So which
allowed to us to buy the native ICO
token and this is the configuration we
have done. So this is the context
configuration. Now let's come back to
the contract. Inside the contract we
have this three contract one for ICO
that's all we have written which we're
going to write together. Then we have
the music we are using open zip and we
have all of this function which we have
created. And here we have this ERC20
token we are using and creating with the
help of open zepp link. So these are the
three contract we're going to build.
Come back to the pages. Inside the pages
we have multiple pages. So this is the
app this app and here we have the
app.js. Here I have done all the
configuration. We are using toaster.
This is our provider. This is the
configuration and here we have all the
JavaScript library we are using for
animations and slider and all. That's
all you will find here. So you don't
need to do anything in here. Close this
one. Come back to the create. Here we
have the create. There you will find all
the things. So these are the API call we
are making to our back end. Then this is
the create post. We are getting all of
this data. We are calling to our back
end checking for credit. Then we have
all of this. So this is the create post.
Now come back to the creator. Here you
will find all the information about the
single user. We are fetching from our
back end and that's what we are
reflecting here. So you don't need to do
anything in here. Here we have the index
page. So this is the starting point of
our application. That's all code we have
written here. So you don't need to do
any changes here. I'll show you what are
the critical changes you have to do to
make it your and here we have the edit
profile where user can simply do the
editing. So you can go to this folder in
the same way you have to provide your
API key and secret key that's what you
have to place I will highlight that. So
these are the pages we have in our
project. Now come back to the public
folder in that I have given couple of
dummy images which we are using in the
project. So make sure you can change the
images you can change the logo but make
sure to give the exact name. So you can
keep it the exact name but you can
change the image. I hope you guys have
understood that what exactly you have to
do. If you don't like this logo you can
put your logo but make sure to give the
exactly the same name so it won't create
any issue. Again I will show you that
how you can do the editing. So just wait
and here we have the stats in that you
will have all the JavaScript file. So
these are the libraries we are using
internally. Don't need to worry about
it. So this is our library. Close this
one. Then come back to the styles. In
that we have all the CSS which we are
utilizing and we have written that's a
huge file
that's a huge file we have all the CSS
so you don't need to do anything just
keep it as it is so this is the global
CSS we have close that one then we have
the YouTube folder in that you will have
this utility function we have created
for converting time and shorten address
and we have this config file here you
have to provide this MongoDB URL in the
final source code I'm going to provide
you my MongoDB URL but you have to
replace with your so these are the
important credential all you have to do
is to simply replace your MongoDV if you
come back to the index file so this is
our backend API and it's also start our
front end so we have done all the
configuration we are starting the server
and the back end together so you can see
it's work good here we have the next
configuration you don't need to do
anything in here we have the packages
JSON file which you can see these are
the packages we are utilizing form spare
everything so you can check from your
end so this is the folder and file
structure of our final source code of
this music dab. Now let me show you what
exactly you have to do for the very
first time when you will get the source
code. So first thing you have to have
the code open up your VS code. Now to
run the application there are a couple
of requirement you need to have in your
system so it will work smoothly and the
best part of this particular project is
that it will work fine in the old node
version or in the latest node version.
So if you have the latest node version,
there's no problem. You can run very
smoothly. But if you have the old node
version like 18.12, it's going to have a
little bit issue with the MongoDB
driver. So there's no problem in the
code, but it's going to create a little
bit problem. Sometime it will disconnect
because the MongoDB driver is latest
updated. So you can use this one or you
can use old one. It will work both fine
because I have tested in both the node
version. So in this one you can see I'm
using the old node version. I'm using
the old node version like 18 but it will
also work with the latest version. So if
I check npm version it's fine. So these
are the version old version it will work
with this also or it will work with this
one also. This is the first requirement.
So once you done with that once you
check your node version now you can
simply clear your terminal.
Now we have couple of requirements. So
first thing we have to create our
account to IPFS and we have to create
our MongoDB server. So before we create
actually run this one because this is
the final source code you will get and
this contract you can see which is
already deployed on polygon test
network. So you can simply run and you
can simply have all the data which is
reflecting which you have seen in the
demo. So once you get that make sure
check your requirement then simply
install all the packages. So now we have
to install all of these packages. So
make sure to get into this particular
folder. So type cd mus sic hit enter. So
now we are into this particular folder
and now we have to install all of these
packages. So I'll type npm i hit enter.
It's going to install all the packages.
You can see it's giving us some warning.
Don't need to worry about it. So you can
simply ignore that. This process will
take a little bit time. Once the
installation will complete we are ready
to start our application. So just wait.
And finally the installation is
completed. The one thing I would suggest
you that once you get the final source
code try to install and run the project
without making any changes because this
is all the key which I have provided all
the backend server which I have provided
the URL it's recently created so it will
work absolutely fine maybe it can give
you an error after 6 month or 7 month
when the limit is over because right now
the key which I have included in the
project it can take less than 1,000
request after that it will be expired. I
have to upgrade my account. So, make
sure to test if it's working fine.
Otherwise, you can simply create your
API key which I will show you how you
can do that and you have to replace it.
So, it's looking fine. Now, I can simply
type npm run and hit enter. It's going
to start the application on local 3000.
You can see everything is looking fine.
Our backend server is also looking fine.
We got our node modules and here we got
this next file. Now, it looks good. Now,
come back to the browser. Come here and
click on this local 3000. Local 3000.
And here our application is started.
It's beautiful. We got it. And you will
get the exactly the same thing. There
will be more data because a lot of you
going to take it and you're going to
create couple of free NFT music on this.
So there would be a lot of data here.
This looks good. You can simply go log
out and I can simply login with dollar.
And I can say 1 2 3 4 5 and login. And
here I'm back into the application. So
everything is looking is pretty good.
You can select any music and you can
start playing.
So you can see things are look good. The
code is working fine. So this is the
exact thing you have to follow once you
download the source code. Now let me do
all the changes and explain you how you
can do the changes. So simply first stop
the application from running.
Close this one. Close this one. and come
back here in the config file. Now we
have to get our
MongoDB URL and the password. So this is
what we have to provide. We have to
create our M MongoDB database. So let's
come back here. I'm going to click here
in a new type. Type MongoDB.
Make sure you have your account up and
running. I can click on that. MongoDB is
such a great platform which allow you to
build a scalable application and it has
a lot of demand in the industry. So if
you master this it will teach you every
single thing and you will have a lot of
demand. So simply create your account. I
already have my account so I can click
on the sign in. I can click on this
and here I have so I have to pick this
one
and here I'm back into my dashboard. I
can click on this and here I will find
all the project which I have created. So
this is the one in which I have all the
data of this application. So simply
click on this social media and there you
will find the entire collection the
entire data we have uploaded to MongoDB
including the information. So click on
this browse collection. I'll show you
every single thing. Just wait how you
can create a new repo. So there is all
the data we have of our application. So
right now we have six comment. If you
look at the conversation we have empty
message empty. We have post. So we have
created a lot of post seven post and if
you check the stories in that and the
user we have all of this all the data we
have created you can see we are hashing
the password and then we are storing in
our database so that's all you will find
here all the data so this is my existing
data how you can create your own so when
you will come back to your dashboard you
will have a similar interface like that
you can simply view all project and
there you You will find all the project
which you have bu and from here you can
simply create a new one. So simply click
on this new project. Make sure to give
whatever name you want. So I'll say
blockchain
music
dab.
Make sure to remember the name and save
it somewhere. So I'll simply copy that
one and I'm going to come back here and
I'm going to keep it here all the
details otherwise I will not lost. This
is the name. You have to do the exactly
the same thing. Simply click on this
next. It's going to ask you for the
ownership. Make sure to keep it as it
is. You can add the member. Just leave
it. Create uh click on this create
project and it's going to create a
project for you. Just wait. So here it
created a project. Now you can simply
click on this create cluster. And here
you will have a multiple options. So you
can create a paid one, you can create a
server list or you can create a free
one. So I will go with the free one
which is enough for this project. Click
on this free one. You can call whatever
you want. You can select the location. I
will go with the default provider. Here
you will have a multiple data location.
But I am from India. So I will select my
but you can select as for your country.
So I'll go for India. And I can simply
click on this create deployment. It will
take you here. And here it will give you
the username and the password. You can
change that. So I want to change the
password. So I can type something like
music. This is the password I want to
give. Make sure to copy again. Make sure
to copy that. Copy the username. I'll
come back here. I'll say
name.
Paste here. And I can take the password
which is this one.
I can come back here. I'll say
password
paste here. So these are the two
important information you have taken
connection method.
You can simply remove this one. Close
it. And here we are getting this
notification. So we got these two
important data for our database
accessibility. So you can simply come
back here in the network access. And
here you can go to the edit
and here you have to change your IP. So
I can click on this allow access from
anywhere. If you go with the specific IP
address so only that particular IP
address can have the access of the
database. No other IP addresses. So make
sure to click on this so you can access
the database from anywhere or any
location. That's the one thing you have
to do and click on this confirm.
And you have to wait. This process takes
like 20 seconds to update the data in
the database and finally it's active. So
these are the necessary step you have to
do. Once you're done with that now you
have to come back to here call the
database.
You will come here and from here you can
able to monitor the entire activities
are taking place in the in the backend
server and you can able to monitor the
entire data. So if you want to check the
data that's all you will find in the
collection and you can also find
multiple way to connect. So click on
this connect
here you will have multiple options. So
that's what we have. Now here we have to
provide the database credential. So you
can do the very first time the way we
have generated the username and the
password or you can create in this way.
So I'm showing you both the way. So
let's do one thing. Let's get the
database.
I can go the username is going to be
this and I have to give the password to
be like this.
This is what I have. Got it? Now I can
click on this create database user. Here
I got it. Now I can click on this choose
connection method and here I have
multiple method which I can use to
connect with the database. So I can go
with this driver. So click on this
driver. You can see they have given the
necessary requirement which you need to
have. This is what we have and all you
have to do is to simply get your string.
So this is simply copy it and that's
what you have to provide here. So I'll
come back here. I'm going to simply
replicate this and I'm going to simply
comment this portion
and I'm going to comment this one as
well. And here I have to simply replace
that.
Paste here. I done it. Now what I have
to do is I have to simply provide the
passwords. You can see this password is
required here. This password is required
here. So I have to simply get the
password which I have created and that's
what I'm going to simply provide here.
So this is the password for our cluster.
Looks good. That's the only change you
have to do. If you want to change this,
you can do that because we going to use
this string for creating the token which
allow us to do the configuration when
it's come to login and log out. So the
bigger it is, it's going to look but the
minimum requirement is 32 character.
Make sure to keep it above that. And
this is the expiry which we're going to
talk about in detail in the project. So
this is how you can get your string. You
got it? Looks fine. And that's the only
thing you have to do. Simply click on
done. So this is the first thing. If you
click on this browser right now, we
don't have any data here.
It's empty. So this is the very first
thing you have to do. You have to get
your MongoDB URL and the password. And
that's what you have to configure. Once
you're done with that, now let's come to
the second thing. So that's what I have
mentioned here. Here we have couple of
things. So you have to get we have got
your database URL and password. Then we
need the IPFS key and secret key. So
come back open up and you type type
Pinata cloud. This is a very powerful
platform which allow you to use IPFS for
free. Most of the providers are charging
money but pinata is free. So make sure
to create your account. I already have
my account. So I can click on this
login. Here you are. Make sure to
connect with the application. So I
already have my account. So I'll say so
I'm back into my Pinata dashboard. And
there you will find all the files which
I have uploaded recently in my history.
All you have to do is to simply come
back to the API key. And there you have
to create your own API key. So right now
you can see that I have multiple API
key. So to create one all you have to do
is to simply click on this new key here.
You have can call whatever you want. So
I can call it let's say
chain
music. You can call whatever you want.
Make sure to have a admin level access
because they give you bunch of feature.
But the one which we want to use is the
file and the metadata. Or you can simply
use the other one as well. And here you
can set the limit. So the maximum
document you can upload in a free API
key and secret key is 1,000. After that
this API key will not work. If you want
to upgrade, you can upgrade and you can
use the premium version but 1,000 is
enough for uploading 1,000 document. Now
you can click on this generate API key
and it's going to generate the API key
for you. So this is the API key. They
will give you a bunch of option. You can
use JWT if you want to configure in the
back end. But we want to do the front
end configuration. So we're going to
take this API key and secret key. So
simply copy this one.
Come back here and that's what we're
going to keep it here. We'll say API
key and paste here. So I'm going to
simply paste it here. And same thing we
have to do with the secret key. So I'm
going to simply copy this.
Copy this one. and I can come back here
and paste here.
So these are the two key we got it. So
once you get your that's the only thing
now you can close this one. So the two
requirement is complete MongoDB URL and
Pinata APK and secret key. Now comes the
third thing we have to deploy our
contract which you can see if I come
back here in the context
there we have to provide all of these
three addresses
of different contracts. So we have to
deploy the contract. So let's come and
deploy one by one. So we're going to use
remix ID for that. You can use harded
but I like to use remix ID. So here I
have remix ID open. Now we're going to
deploy one by one all of this contract.
So we have all of this contract which we
have to deploy. So the very first
contract we going to deploy is this
music one. We have called music NFT. So
simply copy this entire contract and
come back here. go to the contract
section or you can create a new file but
I'm going to use the existing file. So
let's create a new one and call this one
music dot so and I'm going to simply
paste the entire contract here. Simply
ignore this one. Click on okay. It
simply says that you should not copy and
use the contract. You have to always
test before you actually deploy. Copy
and okay. So this is the entire
contract. We have no issue. It's
compiled successfully. Everything looks
pretty good. So, we have no issue. Now,
come back here and you have to change
the network. So, if you click on this
Metamas
injected provider, it will automatically
connect with the network which you have
in your Metamas wallet. So, before we
actually deploy the contract, let me
show you how you can configure this
particular network in your Metamas. So
you can see I have this network called
polygon anomaly and how you can
configure that in your MetaMask. So I'm
going to do that. So first thing I will
simply change the network and I'm going
to delete it. I'm going to delete this
network. So you can can follow the exact
step. Delete. So this network is no
longer available in our metam mask. So
we have to simply add that one. So come
back here type polygon
anomaly
meta mass that's what you have to type
you will get this very first link click
on this and it will take you here and it
will give you all this instruction which
you have to follow and you have to
provide the exact information. So open
up your metam mass go to this add
network it will open in the new tab here
you will find list of all the network
but right now you can't find that
polygon anomaly so you can click on add
manually you can come back to the
network section and here you will find
all the network which you have connected
in the past and all the network which
you will add that's all you will find
here so this one is for the base I'm
going to add a new network so click on
this add network and here I will click
on this add a network manually and here
I have to provide the details one by
one. So come back here. First thing is
the name. So I'm going to simply copy
this one and that's what I have to
simply provide here. I would just like
to keep it small
polygon
and I have to get the RPC endpoint which
is very important. You have to get the
exact one.
You can simply come here and you can
simply paste here. There are multiple
provider from where you can get the RPC
endpoint. Like the most common one which
I use personally is this one. This one
this is a really powerful platform which
give you RPC endpoint for multiple
blockchain. There you will find all the
list of blockchain which you can simply
click and get the RPC endpoint. Like if
you want to deploy to Binance, Ethereum,
Phantom, Arbitum that's all you can get.
I'm looking for a polygon. So I can
click on this and there you will find
that here we have the main net. Here we
have the test net. So I'm going with the
test net. So simply click on this copy.
And that's also you can provide here but
I will get this default one which is
provide by polygon. So once you provide
that now you can come back here you have
to get the chain ID and that's what you
have to provide here chain ID you can go
to the currency. So in the correct I'm
going to use Matty there is no problem
and we have here and we have the next
one is the explorer and this is the
explorer
paste here
and this is the exact configuration we
have provided in the network
configuration. So if I take you back
here in the constants in the in the in
the constants go to the constants and
here you will find the network
configuration we have done. This is the
exact information we have provided here.
So I'm using the same polygon provider
or you can use any other provider. Got
it? Now once you're done with that,
click on save. Once you click on save,
it will add in your metam mask. So click
on this switch to polygon. You can
definitely do that. And I have switched
to the network. And I already have this
much fund. Make sure you have to get
couple of fund in your account which you
want to use for deploying the contract.
So to get it you can come back here and
type polygon simply polygon anomaly
foret. Click on the very first link.
This will take you to acme and if you
want to use acme for getting free foret
then you have to have some real value
like this much real value in your wallet
address then you can claim for a free
foret. So in that case I don't have
because this is my test wallet. So I
have to use other one and I'm going to
use this polygon foret. Click on this
one and it will take you to the polygon
for foret.polygon technology and this
will give you the foret for free. You
don't need to have some real value. So
make sure you have to connect with the
discord server and you have to join the
discord group. Once you do that they
will verify as a member and then you can
simply claim it. So click on this
connect discord to get token and it will
reload. It will take me here. Click on
this authorize and it'll redirect me
back to the same place where I came from
and I'm here and I'm getting this option
called submit because I have already
joined their discord server. So when you
are joining their discord server for the
very first time you have to do in two
step. First you have to authorize and
second you have to confirm and join
their group. Once you join their group
you will be redirect here. So simply
change the network. So I will go with
this one. I have to same the token. I
have to get the wallet address in which
I want to get the font. So I'll simply
go back to the first account because in
this I don't have copy and let's paste
here and click on this submit. It's
going to transfer this 0.2 Matty in my
wallet address. Let's see this process
will take a little bit time and it's
going to transfer the Matty and finally
the transaction is completed. You can
check or you can simply come back here
and you can see this went up to two. So
I got some Matty which is enough for
testing the contract. So this is the
first step and this is how you can get
the token. Now let me close all of this
tab.
We got that. Now come back here. So we
got this network up and running. We are
make sure to switch back to the same
network which you want to deploy. I'm
going to use the polygon. Once you're
done with that, make sure to connect
with the injector provider. It's
reflecting here. This is the account
which I'm using. I have to use this one.
I'm not going to use that one. I'm going
to use this one. account number six
and the balance will reflect here. Just
wait.
It says no ether. Let's see what
happened exactly. I have switched my
account and finally it's fetching the
balance. Just wait. Give some moment or
sometime you'll have to reload the
browser. Simply reload the browser.
Once you reload, click on this contract.
Now we have to go back to the music.
Click on this change the injected
provider. And now here we have the
balance reflecting here. So this is the
contract which I want to deploy. So
click on this. Here we have bunch of
this which you don't need to worry about
it because we are using the open zipline
library which has bunch of contract. But
we have to deploy our contract. So
simply click on this
>> deploy
and it's going to call to metamas and
you have to simply confirm the
transaction. So just wait simply click
on confirm
and the transaction is taking place. Let
me bring it up. Open up Metamas. So you
can see the transaction is in pending
mode. Once the transaction will complete
it will give you the address here. So
just a moment and finally we got our
contracts. Our contract is successfully
deployed and here we have the entire
functionality we have added. So you can
literally interact with your contract
right from here. This is the power of
Remix ID. But we are interested in the
address. So simply copy this one. Come
back here. And you have to replace. So
this one is for the token. This one is
for the ICO. And this is for the music
NFT. So what I'm going to do is I'm not
going to replace it. I'm going to simply
duplicate it. And I'll say this one to
be
old. So you guys can refer. I'm just
keeping it for all of you guys. And here
I have to simply change it. I'll say
new. And here I'm going to replace it.
So this is the new address. And in case
if you do any changes in your contract
like you can see we have bunch of this
contract. And if you make any changes
you have to provide the updated API. So
the AI which I have provided here is as
per this particular contract which I
have deployed. But if you make any
changes you have to get the updated API.
So the question is how you can get that
updated API. We have deployed just now.
All you have to do is to come back here
and you have this artifact. Inside that
you will have the updated AI of this
particular contract which you have just
now deployed. So here you have to search
for the name. So I'll come back here and
let's me scroll down here. Here we have
this. You can see this is the exact name
we have called music NFT and this is
what we need. So simply select this one.
Copy this entire AI and that's what you
have to provide here music. Select
replace and do this and you have to do
only this when you are making any
changes in the contract. If you're not
making any changes in the contract then
you can keep the same API. There's no
problem. So we have deployed our very
first contract. Now we have to deploy
our token and this and this particular
contract which we have written for the
ICO it is dynamic. It will work for any
token. So this is the ERC20 interface we
have. Here we have the important
variables. This is the only this is the
construction and here we have this
update token. So once we deploy this
particular contract, we have to simply
provide the address which we want to use
as an ICO and that's what we have to
provide here. And here we have this
particular function which we have to use
it for setting the price that how much
we going to charge for price of each
token. So these are the two function we
have to call after deploying. This looks
good. So this is the ICO contract.
Simply close this one. Now come back to
the token ERC20 token. So I already have
my token. So if I come back here in the
tab, if I open my Metamas, if I come
back to the token, you can see I already
have this token. I can use this existing
token in my ICO or I can go with this
new token. So let's go with a new token.
But if you already have your token, you
can use the address of that. That will
work fine. Absolutely.
Okay. So I will I will do simply copy
this one. Now I'm come back here and I'm
simply close this one.
So let's bring this a little bit here.
Close this one. And this is the one we
have. I'm going to simply use the
exactly the same one. So because if I
look at here,
I'm going to simply paste the token
>> and let's call this
time
body.
>> This is the contact name. Let's call the
name and let's change the symbol as
well. So I'll call it TB. But you have
to give your name and this much supply I
want to add to my token like close 10.
If you want to check the supply, you can
come back here and you can use use this
V converter. So you can click on that
and here you can define that how much
supply you want to have your token. So I
want to go something with very big like
this much supply I want to have to my
token. So make sure you have to provide
this this way you want not this one and
that's what you can simply provide here.
So this much supply I want to have my
token. Looks good. Now I'm ready to
deploy the contract. So come back here.
I'm going to use my same address which
I'm connected with and I have to deploy.
So this is the only contract which I
want to deploy. Simply click on this
deploy and it's going to make the call
to my Metamas. So let me close this one
and just wait. Here we have the Metamas.
I'm deploying the token. I can simply
click on this confirm and the
transaction will take place. So click on
this. The transaction is happening. It's
in the pending mode. So once the
transaction will complete, it's going to
give me the interface
and transaction is completed. And here
we have this one. So I'm going to simply
copy this. Copy the address. Come back
here. Close this one. And this is the
address, the old one. So, let me call
this
OLD old. And I'm going to replicate this
one. And I'm going to simply comment
this one. Make sure you can change the
name, but I'm not going to do that. I'm
just leave it on you guys. I'm just
changing the address. Got it? So, this
is the address newly address which I
have deployed.
So, I'm just pausing the video because
Azan is happening. So, this is our token
contract. So let's import this
particular token in our metamask. Simply
copy this one. Come back here. Click on
this. Come back to the token section.
And here we have this option called
import token. Simply paste the address
and click on this next import. And there
you will find the token will reflect
here. So just wait. Sometime it takes a
little bit time to import the token but
it's taking a little longer. So let me
reload the page and let's see what
happened exactly. So this is what we
have. Now we can click on this token and
the token is deployed successfully.
Let's come back here one more time. This
is the old address and this is the new
one. Simply copy.
And here we have this one contract
address.
We are connected with the same network.
Click on this.
There is not available this network yet.
Please import the token.
>> So click on this. Would you like to
import this token? Import. Right now
this information is not reflecting here.
But you can do one thing. You can come
back to the block explorer. So we'll say
and you can come back here. This one.
And there you will find that you can
simply search for the address. Paste
here. Hit enter. And you will see that
this is the token name we have given.
And this is the symbol. So our token is
deployed successfully. And if you look
at the owner who hold this token. So
this is the address you can see creator.
If you click on that you can able to
find the token we hold. So this is the
supply TBC. And this much supply we
have. I don't know why it's not
reflecting here. But sometime it take a
little bit time. Right now it's not
reflecting but later it will def. So
this is the first thing we have deployed
our contract successfully both the
contract like the token contract and the
the music contract. Now we have to
deploy our ICO. So come back here in the
contract ICO and we have to simply copy
this one. So it's called music ICO.
Simply copy this entire contract. We
have to do the exactly the same thing.
So come back here and this time I'm
going to use this test one and I'm going
to simply remove and paste here. Click
on okay. So our contract compiled
successfully. So there is no issue in
that. Let's change the network to
injected provider. So it will connect
with our metamas with that wallet. And
here we are connected. And this is the
contract. So we have bunch of but I want
to deploy this one. And again, I'm not
making any changes. If you make any
changes, make sure to provide the
updated AVI. So, all I have to do is to
simply deploy the contract. So, I'll
click on this deploy and it's going to
call the Metamas.
There it is. Click on this confirm.
And the transaction is happening. So,
just wait
on the transaction will complete. Here
you will find the interface. So, we got
our address and all the feature.
Now, here we have to initialize two
thing. we have to call this particular
function update token and we have to
call set price. So these are the two
function we have to call and update it
right from metamas. So what I will do
I'll simply copy the address come back
here close this one come back here and
this is the old one. So I'll say say old
I'm going to simply replicate this one
this and I'm going to paste this one new
address. So this is our ICO contract. So
here we have the two token. This is the
old one and this is the new one. You can
use this one or you can use this one.
But somehow our token is not reflecting
here in the metam mass. This is the old
one. So I'm going to use this one. Okay.
There's no no there's no difference
between the old and new. So I'm going to
take the address which I have already
imported in my metamas. It's right up
here. Now what I have to do is I'm going
to simply copy this address and I have
to initialize here. So here we have this
particular function and paste here and
literally you can call this particular
function and provide a new address which
will update because we have this
particular function for updating the
address and the price. So you can update
it anytime. So I'm going to use this
particular token. So let's call this
particular function called update token.
Click on this and it's going to call our
contract function and it's going to
register the transaction on the
blockchain. So just wait click on
confirm
and once the transaction will complete
after that we have to set the token
price which we want to charge for
selling. So here the transaction is
completed. Now we have to set the token
price. So here we have to pass the price
in terms of way. So we can use this
particular calculator. So I'm going to
remove this one and I'm going to remove
this one. So I'm going to charge
something very less like say 0.000000
five. I don't want to charge much. So I
will just simply copy this one. Come
back here. And that's what I have to
provide here.
And I can simply claim
here we have I can simply confirm
and the transaction will take place and
it will update the price of our token.
So just wait and finally the trial is
updated. If you want we have particular
function. So you can simply call this
one. This much is a token price. You can
check the token address. You can check
the token sold. Currently it's zero. You
can check the honor. This is the address
is honor. You can check the token
details. And we have all of these
details.
Right now there is no token available
for sale. So we have to transfer the
token to this particular contract for
sell. So I'm going to take the contract
address, copy the address, come back to
the metamas and I'm going to transfer
this particular token, this particular
token. So make sure to click on this
send and I'll simply pass the address of
our ICO
and here we have and I want to transfer
close to let's say 100 not much 100 okay
you can transfer as many token as you
want. So I can simply click on this next
and it is going to make the transaction.
So click on confirm.
Once the transaction will complete you
will see that this TBC token will be
available in our ICO contract and now
the user can ready to buy. So the
transaction is completed. Now if you
come back here you can see it's zero
call get details and this is went up. So
right now we have 100 token. If you can
copy and you can come back to the
converter, you can simply remove and
paste here. You can see 100. So 100
token is available. So all the things
are set. Now we can start our
application and start testing all the
contract which we have deployed
everything and all. So this contract is
deployed successfully. Now we can simply
close this one. Close this one. Now we
have to simply update the data means
IPFS key and secret key. So first update
we have to do in our context. So come
back here in the context there you will
have this particular function called
create NFT. So here we have to update
the two keys. So we already have the
key. So I'm going to simply give this /
dot so it will not close. Come back here
and I have to get the key. Copy. And
that's what I have to provide.
You have to only replace the keys. Don't
replace the content type because we are
using different content type. We are
using JSON and we are using file. So you
have to replace only key. Copy and paste
here.
Done. So this is the first changes you
have to do here in the context. Once
you're done with that looks pretty good.
Now you have to simply
uh we can do one thing. We can we have
done with that one. Now we can come back
to the create. So come back to the
pages. Go back to the create. And here
we have the functions which allow us to
create the and upload the files. So we
have to go into the component inside the
component we have this create and we
have this two components. So we have
this music upload there we have to also
provide. So we have to provide this
keys. So this is the secret key
the new one and we have the so this is
the new one and this is the changes. So
this is the one we updated we have done.
Simply copy this one. You can simply
copy this one.
You can see this is the one we have. Now
we can close this one. You can close
this one. Now we have to come back here
in the upload list or we can say cover
image and here we have to simply select
this one and paste.
Okay, make sure to copy these two and
that's the only thing we have to replace
not this content type. So we have
uploaded the images and the audio upload
file. Now we have to do the changes in
the edit. Okay, means profile update. So
for that we have to come back here in
the profile edit. Inside that we have
this one and here we have the function.
So there we have to do the update. So
simply select this one and paste the
keys new keys and we have one more here.
Simply simply select this one and paste
here. So altogether we have to replace
in the five places
because in five places we are uploading
it. Now we are done with all the setups
which you have to do replacing all the
key. Now we can start testing our
application. Now you can open this
terminal. Make sure to get into the
particular folder. So let's cd dot dot
we are into the main directory in this
main directory. Now we have to get into
this particular folder. I hope you guys
haven't forgot that. So type cd music.
Now we have to simply install the
packages. We have already done it. So
you don't need to do the reinstallation.
All you have to do is to simply type npm
rundev.
And here we have our application
running. And here we got some sort of
error. You can see still we are facing
the same issue. Let's do one thing.
Let's try to come here and let's try to
create a new project. So here we have
list of all the projects. I can simply
come back here and I can see the
database which I have created. So this
is the one which I have created. I'm
going to simply delete this one. I'll
call leave it.
And it looks fine. Now what I can do is
I can simply click on this new project
and let's create one more time. So I'll
say for simplicity let's give me a small
G S A I N Han
I don't want to provide anything click
on this next and this will have the
access click on this
once it will done I have to create a
user so just wait and here it will
redirect
so I'm back here now what I'm going to
do is I have to create a connection so
here I have created did that project.
I'm selected that one. Let's click on
this database.
There you will have this option called
build. So click on this build a cluster.
And here you have to select. So I'm
going to select the free version. I'm
going to keep the same. Click on this
create.
And here it's going to ask me a few
things. So click all of that.
And I guess I have selected all the
cars. Yes. Now it's creating a project
for me. So this is the username and this
is the password. So you can literally
change. So I'm going to click as a
Hussean
for simplicity. Copy that. Come back
here.
Bring it down. And I'm going to simply
paste here.
And that's the password I have.
Now I can click on this create database
user
>> here I have created successfully. Now I
can click on the connection method.
I will go to this and there I have this
one. You can see I got this name here
password here. So all I have to do is
simply copy this one and that's what I
have to provide here. We done exactly
the same thing. So I'm simply paste here
and then click save. So this is the
database URL and this is the host name.
These are fine. Now I can simply open it
up. I'm going to stop the application.
Type npm rundev and it's going to start
the application. And here you can see so
earlier we have not done the
configuration properly that's why it
went wrong. But now it's working fine.
You can see our database is successfully
connected and our application is
started. Now you can come back here.
Click on this local host. And here the
application is running absolutely fine.
There it is. You can see I'm already
logged in because I have the previous
data available. So I can simply click on
this log out. And now we have no user
here. So if you come back to the
MongoDB, go back to the first I have to
do one thing. I have to change my
network configuration. So make sure to
have the global access. So this is the
important change you have to do. Then
you can able to fetch the information
and you heard the noise because this is
the notification I have set in my
database that whenever any changes will
take place it will notify me with the
email. So here it's got active. If I
come back to the database right now you
will find there is no data available.
There is absolutely empty here. Here you
will find all of that because we have
started our server. So it will
automatically create all this folder. So
there is no user
>> empty no post
no messages nothing is here
no data is available here now you can
come back here this is how it will look
let's try to register so I can click on
this and I want to create an account so
I'm going to use the Metamas because you
guys have already seen me so I'm going
to use this account so I'll say let's
say dollar.com
password. Click on this connect with
wallet and it's going to create my
account.
And here we have. So we have
successfully created our account. You
can see it looks fine. If you come back
to the database, you will see a user is
reflecting here.
So these are the information we have
stored. The name is empty, bio is empty,
Insta, Twitter, all of this is empty. So
I can simply come back here. I can
update my profile. So I can come back to
the profile section. Go to the edit it.
And here I can give the name. So I say
Dat
Hussein. I can pick a bio. So I can come
back here and I can simply take this
dummy text from here. And that's what I
can provide in the bio. I can keep it as
it is. Now I can do not do anything. I
have to get the URL. So I can come back
here, copy this URL.
And that's what I can provide here. Here
you can make sure you have to provide
your Twitter URL and in or Instagram or
if you want to follow me, you can simply
click here and you can simply now I can
simply click on this update. And here
the data is updated successfully.
>> Yes sir.
>> That looks good. All the data is updated
successfully. If you come back to the
database you can see click on this
refresh
and
you will find the data will reflect
here. So all the data we have updated
like bio, name that's all reflecting
here. The password is in in hash form.
Now I can come back here and let's
update the image. So I can click on
this. I can go back to the downloads.
Here we have the image, not download
document. And here I have the image. I'm
going to select that one. And here it
going to upload. So this upload is
happening to my new API which we have
provided. Let's do the same thing for
the cover. So I can come back to the
download. Here we have this one. Go back
to the pinata. Here we have the assets
and I have to select a proper banner. So
I'm going to select this one. Now it's
going to upload
and here we have successfully uploaded
our document. Here it is. Now you can
click here. You can see you can click
here and you can click on this ICO
token. You can able to find the details
like 100 token available. This much font
I have. This is the price. It's good.
Close this one. If I come back here,
this is the one we have.
You can able to transfer the fund to any
address. Now if you come back here, this
is decentralized exchange is working
absolutely great. Here we have the
music. This is also great because right
now we don't have any music that's why
it's reflecting undefined and unlimited
data. You can click here. Here you is
only one user. You can come back here
and let's try to buy credit because this
is this has no credit. So we cannot able
to create. If I close this one and if I
take you to the create page, you will
see this pop-up will open. So let's try
to buy credit. Click on this and it's
going to open the MetaMask
and here I have to simply click on this
confirm
and the transaction will take place just
wait
and here it's buying so the process
takes a little bit time. So just wait
and we have successfully bought the
credit. So if I click on this go back to
the credit you can see we have 50
credit. Now I can able to create the
music. So click on that, select the
music, go back to here, select the
music, and it's loading. Just wait.
Now the process is taking a little bit
time.
Once the upload of the song will
complete, it's going to reflect here. So
just wait.
So it's uploaded successfully. You can
simply play. Let's upload the cover
image.
I'm going to select this one assets and
this is what we have upload
and we have uploaded let's say
the
code errors
and you can give a description whatever
you want so I'm going to get the
description
paste here
and we have this click on create
Just wait. Now we have this. Simply
click on this confirm
>> and it's going to create our first music
NFT here. And once the transaction will
complete, it will reflect and reload the
page. And finally, the transaction is
completed. You can see the music is
reflecting here. You can come back here
in the home. And this is the music we
have. You can simply select and you can
play, you can like,
you can put a comment.
Thanks. Post the comment will reflect.
You can like it. You can give another
comment. Come back here. You can give
another comment. Say
thanks.
Download. You can call it and post. And
here we have and you can like it as well
or you can delete it. It's totally up to
you. So it looks pretty beautiful.
You can click and you can visit the
profile of the user who created this
one.
I hope you guys have understood that
what exactly we have built. Everything
is looking absolutely perfect. You can
able to buy the token. That's all is
looking great.
So the only changes you have to do is
here you have to provide your address
which you are using for deploying the
contract because there you're going to
receive all the fund whenever someone
will buy your verify account or get some
credit. So let's try to verify the
account as well. So I can click here and
I can click on this verify. If I click
on that it's going to make the
transaction and here I have to say let's
confirm. Once it will confirm and here
you can see we got this batch back here.
There it is. We have the batch. If you
click on this that's gone and all the
information we have updated successfully
in our database.
So
looks good.
All the data is filled. It's went down
to one. So I hope you guys have
understood that what exactly we're going
to build in the project. It's absolutely
really powerful project which you can
include in your portfolio. The only
changes you have to do right up here in
terms of pricing and your address and
the same address you have to use which
you are using for deploying your
contract and this particular contract is
a dynamic one. So you can literally use
any token and you can update token and
you can update price everything is good.
So that's the only thing this is what
exactly you will get in the final source
code and you have to do the exactly the
same thing which I have explained here
in this entire setup video
entire setup video. So if you come back
here you can come back to the blockchain
coder there you will find the complete
source code of the project and you will
get the startup file. This is the video
which I'm going to attach here. So you
can watch you can simply get the startup
file and start following the project
when I'm going to publish or you can
take the final source code speed up your
development and one more thing I want to
tell you I have launched this particular
course a lot of students have loved this
one so you can see we have a lot of
student enroll in this in this you will
learn complete blockchain development
from beginner to advanc going to master
soy programming language you're going to
master necessary tools you're going to
build one of the biggest and complex
smart contract NFT marketplace which
contain multiple contract you're going
to have couple of class courses. So it's
a 40 plus hour long course. So make sure
to check this one and again the starter
file is given right up here in the right
up here. So you can simply download
there you will also find all the
instruction
which you can simply follow
watch the setup video final source code
everything is given here. So with that
I'm ending this video. If you have any
question, any suggestion, do let me know
in the comment section that definitely
I'm going to include in this so we can
start building this soon. Have a
wonderful day. Bye-bye.
Source Code: https://www.theblockchaincoders.com/sourceCode/building-and-deploying-a-full-mern-stack-blockchain-music-artists-social-media-dapp Blockchain Course: https://www.theblockchaincoders.com/pro-nft-marketplace All Project Code: https://www.theblockchaincoders.com/SourceCode Donate Please: https://linktr.ee/daulathussain 1 - 1 Consultancy: https://www.theblockchaincoders.com/consultancy Pro Blockchain Courses: https://www.theblockchaincoders.com/ Public Discord: https://discord.gg/Gah6YGuBFS Build a Decentralized Music Artist Social Media Platform & ICO | MERN Stack Blockchain Web3 Project In this video, we build and deploy a full MERN Stack Blockchain Music Artist Social Media DApp from scratch. 🎶🚀 You’ll learn how to create a decentralized social platform where music artists can upload content, connect with fans, and monetize using blockchain technology. This end-to-end project covers MongoDB, Express, React, Node.js (MERN) along with Solidity smart contracts, wallet integration, and decentralized storage—making it a real-world Web3 portfolio project. 🔥 What You’ll Learn: Complete MERN Stack architecture Blockchain integration with smart contracts Artist profiles & social features Music uploads & decentralized storage Wallet authentication & Web3 login Deploying frontend, backend & smart contracts Building a production-ready Web3 Social Media DApp This tutorial is perfect for Web3 developers, MERN stack developers, blockchain learners, and music-tech founders looking to build the next generation of decentralized platforms. 📌 Ideal for Portfolio & Startup Projects 🧠 Tech Stack Used: MongoDB Express.js React.js Node.js Solidity Web3 / Ethers.js IPFS / Decentralized Storage Save NFT Marketplace PlayList: https://youtube.com/playlist?list=PLWUCKsxdKl0olgEF4OxXVk2B-jwpGqL5d API PlayList: https://youtube.com/playlist?list=PLWUCKsxdKl0oAFAVuRZxQSYC07UTcl_v_ Solidity PlayList: https://youtube.com/playlist?list=PLWUCKsxdKl0oksYr6IG_wRsaSUySQC0ck Complete JavaScript Course: https://youtube.com/playlist?list=PLWUCKsxdKl0qROhA0XO4_ek9bIwZ4j4Xr HTML Course Code: https://www.daulathussain.com/complete-html-course-daulat-hussain/ =================== HOSTING ++++++++++++++++++++ Best Hosting: https://clients.domainracer.com/aff.php?aff=28826 Follow Me: Instagram: https://www.instagram.com/daulathussain92/ Facebook: https://www.facebook.com/daulat.hussain.18 Twitter: https://x.com/TheBCoders Pinterest: https://in.pinterest.com/daulathussainhealthfitness/ Linkedin: https://www.linkedin.com/in/daulat-hussain/ Quora: https://www.quora.com/q/schahkxkdudpgjvh Facebook Group: https://www.facebook.com/groups/59011 Facebook Page: https://www.facebook.com/yourdhfitness Subscribe to My Channel: https://www.youtube.com/channel/UCz6_...