Base Cafe: Vibecoding FC Frame: draw w frens

Recorded: March 31, 2025 Duration: 2:43:16
Space Recording

Short Summary

A new Web3 application is being launched, featuring a decentralized version of Scribble.io that incorporates stablecoins and ETH for game participation. This project introduces innovative DeFi mechanisms and technical updates, such as wallet connections, enhancing user experience in the crypto gaming space.

Full Transcription

bass cafe is where they play changing the world day by day
sip the grind feel the sway in the bass cafe we slay
yes i guess we are live we already have like wait how do how do we have eight people Eight people clicked right after.
Suresh Kauravadzhani
Oh, my god.
Oh, my god.
10 people just like right into it.
So Suresh, today's new thing, what are you going to tell people?
What new lifeline do we have today?
Suresh Kauravadzhani
So not something new, but we're going to you know ship that game we started last stream
and not last stream not last stream okay for that you know what what i'm excited about i'm only
excited about the final part part where we launch it and then we do a game we host a game there
and then i win something so i can get some lunch okay you've still not gotten lunch I mean
you survived an earthquake dude you just couldn't find anyone it was a pretty crazy weekend um I did
not expand I mean I did not even expect you know that kind of thing happened all of a sudden and
like you know I was on a call with you and i was like oh the chair is slowly moving what is
happening i thought like nearby building it's like they're doing something then it's like you
know all the lights in the building is like you know we just like started going that was a crazy
earthquake and yeah i mean here we are some of the people have already ran away to their countries
yeah i i saw a couple people like i i have this friend from berhabadi and she's like
i'm back in dubai guys a couple of buildings have also like cracked really bad so i think it's
bad i mean if it's bad here imagine people from myanmar would be like even crazy for them
but yeah everyone's good here um so good all good that is good i remember how you're like
kings are shaking like okay first time you were like maybe i'm shaking my leg dude
because i have i've always seen earthquake tsunami on tvs for last 10 15 years and now when i'm here
the building is so you know i'm just feeling i'm going like this. It's not just like, you know, a little bit.
I'm just going like this.
Okay, this is not the question.
I have to take my passport, take my wallet, take my phone, take my laptop.
I just took everything and just ran outside of the building.
Adesh, you're a good deaf, but your survival in since are top notch bad.
You wanted to like survive, but you wanted the laptop.
Otherwise, you were like okay i'm good
without it yeah how how will i run back to my country the building collapses how will i run back
to the country my god i i really hope that people who are like facing actual problems due to the earth
are a bit safer now because i saw some
videos and they were very scary and that's that's what i'm saying that like i i live in a i live in
delhi and delhi has a lot of earthquakes in any way but i've never seen something like this and
this was way too scary and i i don't know how situation situation was there, but I really hope everyone is safe there.
And I think we have a sizable audience now.
We have around 65 people watching us.
So we can talk about what we're going to do today.
So the fun part today is we have a lifeline.
It's called Pornaprend, which if you guys have seen KBC
or if you've seen a lot of other,
I was not very good with the shows. I just saw KBC because the school said watch KBC or if you've seen a lot of other I was not very good with the shows I just
saw KBC because the school said watch KBC so they have this live time called
folder friend and since we've been stuck on this frame for past two weeks and we
have seen that a couple of friends might be able to help us if we're stuck again. So we're going to use that one in case we're stuck today.
And also, you can also join that helpline list.
So we can call you, maybe.
Yeah, yeah.
If you want to be on the helpline list,
just drop a hi on the chat somewhere,
or like a comment under the stream, and I'll find you.
If you comment on the stream, I'll find you if you comment on the stream i'll find you
and if you can help us amazing and yeah getting started with it i will let i'll share my screen
on the update on where we were
so last time we we had the mvp ready and we were trying to build Scribble.io frame where friends
play by putting in money and the winner takes it all.
Wait, my screen isn't sharing.
So the winner takes all the money and the update was we have a public room ready
we can start the game at a fixed time every time because we don't want you to go around
no no no all good all good all good and yeah
so uh the users can scribble at one time and we hope it works for more as well in the room to 10 people at once and after 10 people it just moves to make another room another room like that
and today we plan to add wall functionality and make the front end better.
One issue we were running into was like let's say we have room number one running already
and the game is in progress if someone else says i want to join room number one they were able to
see that the room is about to start which which couldn't happen because people are already playing that game you cannot join that room um the plan is to start at 10 a.m and 10 p.m uh
we will start and the game starts at 10 02 right today um yeah 10 01 like we just know one minute
before we give them yeah one minute before we give them so 60, one minute before we gave them. So 60 seconds to join.
I think it's better to give them 20 seconds.
No relaxation.
You're saying that?
You join in under 60 seconds, or I'm
leaving you out of this round, OK?
I think the longer you give like people other people just must
be like waiting for long so I think it's kind of a okay okay but yeah but yeah
that's that's something that we can always like you know customize it gotcha
so let's do this we have planned if you're gonna do this we'll go ahead and
now we go to fix this issue and what
what is the plan first we go fix this issue that the same room so i think so the last time we were
doing the stream got a little bit like you know we were not able to fix it that grok was giving
us the same issue again and again uh we were not able to fix that particular part where you know
game issue again and again uh we were not able to fix that particular part where you know uh
when there's already a game running it is already it was allowing other people to join the game
we tried to fix it but again like it was there was the same error again and again so we kind
of rolled back like we just went back like you know a few versions of the code dog cave and with
me i had a working code by the end of the stream last stream right so let's let me let's
take a look at where we are right now and then see like what we can do in the stream
um our goal is to just you know keep get the uh scribble part work and then like the rewards where
someone joins with one usdc and then like when the game ends they get the money back so that's that's what we're gonna do so i have this is just the game and get the money back no no no no no so let's
say 10 people join the game each put one usdc and the winner gets 10 usdc like that like that
okay so i just i just started the app uh my friend is running here and the back end is running here
and i will open up the front end let's see where we are right now like you know uh let's see where
we are uh one i'm gonna just join one room and see if this works I'm gonna open up another browser and I'm gonna go to the same thing
and then I'm gonna start okay we have started the game and you are going to draw here something something amazing drawing skills
we just this is just to test and show people that things are working
for a second i thought some jurassic
i don't know i don't know which animal is this it's just it's just eid guys so maybe the animals are celebrating happy eid everyone i hope you all got eidi from somewhere
so are you are you also planning to add some eb in this game and any eeve ev is like money you get on eid free money money and envelopes are just like
open like cash okay okay who is gonna sponsor that money yeah of course give uh somebody
but actually the next product that we will be building, I think it's one that you suggested.
We can just piece it up this time.
I think that's where you get the money.
That's where you get the money.
That's where you get the money.
I mean, this one is also something you can get the money in if you just are super good at drawing.
So right now you see like the game is working.
Okay? Actually the game is working okay actually the game is working
now when two people join three people join when you start the game the game is working
perfectly fine but the problem here I think is so I have started the game the game is going on now if you create a new account and now like
think of like this is a new user
and then he joins the room uh what was the room id two what was one i think
no no no no no it was room number two
It was room number two.
OK, so see now this is where the problem happens.
This gets stuck here.
OK, so what happens here is even if there's an ongoing game,
this user is still seeing this particular screen,
as well as this user's name is coming up to the player
list of the ongoing game.
This should not happen.
So in the last screen, we tried to fix this
with a lot of iterations from Grok.
It was failing continuously.
So right now, this time, what we're going to do
is we're going to use the cursor ID itself,
and try to ask cursor to fix it for us okay
so you can see so what i'm going to do i'm going to go to my code editor here
so what i'm going to do is i'm going to go here and this is how you on your left this is how you
actually like you know chat with
the AI from your cursor itself I have an issue actually like all the code that we have is
staged meaning like you know it's kind of a locally saved so I no problem if cursor messes
up we still have the code for us good thing i get what stage means wait what does postman do i see the logo postman is like a way
to test an api endpoint for example if if you want to get the weather data or if you want to get if
there was a real earthquake in myanmar you can just uh you you will need to ping some api right
for example uh us government website or something you can just use you know will need to ping some api right for example uh us government website or something
you can just use you know postman to get that you know and better a nicer app to actually like you
know test apis okay we don't have to use it right for this for this app we don't have to use it
for this app we don't have to use it let me think of what we can do with it
but if we build a
a polymarket polymarket would use it maybe to test prices like let's say they have a bet going on and on btc's price they would need something to tell
them what is btc's price at the end when the bet ends no postman is like a development tool we use
to test things it's not more of a it's just a development tool and you know way to things
for example if i build some api i can just show you give give you the api endpoint and you can use this to test it but like before postman came things used to be like you
know they write the request here and use the terminal to test it but then like now you can
use postman to do that it's like a better way i think it's just it was founded by Indian Indian people yeah is it paid no it's free it's the one I
use this we having we have a paid plan okay so these do you want an introduction of yourself
as well because we have an audience now we have like close to 150 people watching if you want to introduce no we just try to go
complete the game launch the game and then that's where the fun is amazing yeah
Suresh, can you somehow maximize your screen towards the place where you-
Yeah, so that people can see more.
Like just, yeah, this.
Right now, everyone can see what prompt you're putting.
Samae is here.
Samae is here. Sama I'm measure. Okay, quick roundup on where we are somewhere.
We have the MVP ready, but there is a issue in the game logic.
The game, if there's a room running already and you start and you try to join it, it shows
you as one of the
players in the room even though you're not playing the game just because you clicked on the same room
number so we're trying to fix that right now after this we'll go improve the front end and add wallet
functionality to this it's important to be articulate with this structure.
Yashika, in the process, have you learned how to code? Not really. I mean, I know a little bit of things like we have to restart this over and things like
that but not really i haven't tried actually i i need to sit on a weekend and try it and
do the setup so that i get to know what what works and what doesn't work for me but i feel like
because sedation has been doing with you for a while if you just try you will organically know
and then you can always think the day bro yeah i think it would be fun like the next next project
that we have in mind is like a very fun thing and a pretty similar simple thing i think maybe you wife got it and i i join you and yes that would be a fun one to do maybe actually you can do that
and i love that game and uh sidesh because that is my idea that i put it in the sheet so
yeah it's your idea so you can it's a it's a nostalgic game yeah let's do this i will i need some help beforehand to set up how
to code get my machine so even even that piece is easy right like i think you know bringing someone
that has no experience and then getting them to do it will be fun i guess yeah yeah let's do it bro like next uh yeah because i think uh
i also learned exactly like this gpd so i'm setting the terminal up everything yeah okay
carry on the nation yeah awesome so you know uh so basically i'm using claude on the cursor thing
itself it gives you some credits to use plot inside the cursor so it has given us some uh
changes and i'm just gonna accept the file and hope for it to work i'm restarting the server once again
to work I am restarting the server once again and okay
so two players explain him and now let's go to the third player change
wait one one more solution what if we never allowed users to choose a room number
we only show them the uh rooms that no i mean in our idea what will happen is like you know uh
you have only so are you are you suggesting you only have that uh the
room that you want to have every day 10 a.m only that you want to have no yeah that is one that
is like couple of ways to do it one idea is we have a room code like scribble has a longer code
so i'm not thinking people would be doing that entire code copy paste so that this problem largely gets obliterated even though
not solved yeah second second way is we just have a link like this is your link if you share it to
your friends they'll be able to join your room otherwise nobody else can join yeah that's that's
correct but but the problem again is like what if that is fundamentally flawed right when your game is allowing like everyone
to join and they they are also are seeing the score and everything that's that's not how you do
it right uh but again like as you mentioned we'll be also using a link way for example you create
a game and then you can copy the link the admin can copy the link and send it to people so they
can actually use the use that link to join the game yeah brother i think what will be helpful is to have architecture and i think i mentioned it
previously also but if you keep that in place then it's easier to know which part is breaking
and then do you need to modify architecture or be like do we know how it's working
like for for each room is there like a separate container that gets created uh container
i think like what do you what the db entries like db entries so we're not using any db i think as
of most real db is used here everything is like memory everything but only for the sake of leader
board and everything we'll be using some kind of a db uh that comes down this stream so yeah we are only in the first you know game in a bare bone
structure of the game logic there so we will be doing that in this stream so we'll have something
something you know something like a visual flow model right after we fix this bug okay okay yeah
the we fix this bug okay okay yeah let's let's carry this again yeah i should have to get on
a call i'll drop off but i'll join back guys carry on yeah Sesh, who is the smartest coder you know smartest coder there's a lot of people yeah just call one of them please then it because this it
doesn't become a wide coding session here no but then we can't we have been trying to wipe debug
for like two three hours now it doesn't work so just you wanna call a friend maybe let's let's use that one
phone of India who wanna who do you wanna call any of your friends who who you think can solve this
I don't have any maybe let's actually text Nisarg the one that was here last time he's very active usually what if
he actually sees the message okay
open let me also try texting any one that i know yeah one dev that i know
one dev that I know
who has been vibe coding or coding for a while
wait I think while debugging is way harder than vibe coding.
Yeah, we just learned that over the past two things.
Yeah, I mean, yeah.
Let's see.
It's hard.
This shouldn't take this much amount of time,
because I think, like, usually things work with given that no Claude and Grok are like actually
good I don't know why it's like you know failing this bad didn't necessarily reply no he did not Wait, wait. I'm just going to text the fastest person I know who replies.
And he's a coder.
So let's see.
and let's see okay who is that are we giving a shout out for them yeah I think miss shark
okay okay send him a link yeah I'll send no I don't have no service contact send him the link
I'll share it with you
no i mean the link that we you sent me for the stream is that the same yes yes share it with him
okay so we're gonna have we're gonna have nisad let's see like oh you know if he can help us I really hope Nasarq is able to figure out where things are going wrong at least so that we know where to do the fixing.
I think Nisarg might have received the link. I mean, he is the join right now.
If he joins, I'll know.
OK, OK, OK.
Don't worry.
You focus on Vibe Diva getting this.
They're like 218 people trying to, you know,
Nisarg is here. Okay.
I am adding you to stage Nisarg.
If you can hear me.
You unmute yourself and begin.
Here he is.
Yes, please.
So yeah, I last watched the game. it was working for i think two people right
yeah it is so uh it works for three people but if someone else joins it uh like uh like like
there's already a room running but you put in the same room number they'll show you as a participant
of the room but it'll also show the person that the room has not started yet so okay okay i don't know if i
would did a good enough explanation so they should so so what i see i'm just showing you like what
i'm doing uh uh so see we have a new game sid123 is a room id and he is the admin now another
another one i'm just creating another user one two three join yeah now the admin
starts the game everything is good like the this user gets the drawing thing they just draw something
they draw something okay so they guess okay everything is working perfectly fine
okay everything is working perfectly fine um
no it it's actually
no no no no okay okay okay i'm gonna go back one step one i'm gonna go back okay so
step one i'm gonna go back okay so what we have here is
same url and it gives room id one two three join uh
uh i don't know why this is happening one second
one degree where is where is actually getting from i don't know
wait let's see this error wasn't there before it just popped up it just came up right now
so I think okay okay so new tab localhost 3000 Mike mike okay what is line okay okay room number nine okay now things are okay
uh here you can see admin starts again and there is a timer going on and there is a word word here
someone let someone draw across here like whatever
and then this guy guesses it's a radio okay you get the points and everything is fine
yes right yeah now what happens is still the game is going on right still the game is going
on they have an extra on everything now if I create another another browser tab and then try to join the same room number okay
check okay we get this to get this to get this screen okay let's okay after the time start it
cannot able to join the game that's the problem not able to join it that's the thing right so
one thing that we can do is let's ask actually one last time claude uh okay one last
think that this is happening because like we're using the home route and this using a state
manager to handle everything do you think that's the reason this is happening?
Is the new code published on the GitHub, the main branch?
No, no, no, it's not. It's not. It's not. Can you push it once again? I can check.
Yeah. Okay. by encoded episode two. I pushed everything same repository and it's up there.はい and also i think another problem that can arise here is like i think the way socket works is some maybe it's
a it's around like uh the way socket connections establish is like i don't think when you have two
websites on a same browser maybe there's a problem with socket io client you know in how it
establishes connection between
those clients that could be one of the problems here but let's i think what i'm thinking to do
right now is like when we go to localhost right now what we are trying to do we're just setting
all the game users in the same browser tab so everything happens in localhost 3000 what would
ideally should be like you know the way how Scribble works is you would
do something like a local of 3000 room, some number, some number.
So what we can do in this, we can use the next router.
So when the room will be created, we'll create a next router and room page, room ID with
the next router and then ID check if the page is there or not.
So we do that.
With the same room, it will check with the parents basically with the use parents.
Next we'll check.
Are you using for room any database or anything or local storage?
No, no, no, no.
We are not using it for now.
So how can you find the room ID? Right now it's relevant or not?
Everything in memory, in memory. Everything is in memory.
Whatever happens, everything is like, the server manages everything in memory.
Okay, I'm cloning your repo. I cloned it. Just a sec.
I think, yeah, this will be able to do it things that you're you can able to create a multiple
room with this yeah so I have actually kind of done that let's see so we have a website
now let's reload again let's see what happens here so I'm going to put sit room number sit room number 3232. Okay. Now when I do this Can you check on the URL?
No, it's still using the same router.
So yeah, when you create a room, you have to use the router.push to able to, you can
push it to directly with the frontend to the place.
Yeah, I think it's doing there, but it's not working.
I don't know.
Let's check out the code here uh
home psx okay we are on home tsx and
like it's pretty weird because like even after doing all these code changes nothing is actually
working yeah uh i'm driving the code i'm just gonna do the same thing that you've done
Yeah, I'm just gonna do the same thing that you've done.
Let's go on the code for the homepage where create room I think happening.
So it can able to push two users on the both same room ID page is there, and it goes up to home component that's
where every logic is there and
I think it's pushing
okay quick help can you TLDR what are we trying to do to solve this?
So right now, at localhost, there are two players that are able to join.
But ideally, what the scenario is, every game has their unique number, basically code, like
every page has a unique code.
For any pool, you can see the pool name on the weth or w any if you go to investment so right now if we
try to create a game there can be multiple game possible so how to find the unique game so we are
allocating the room id with this name slash url or anything that can publish like this game
slash our room id that is seven let's say so anyone who enters the seven can able to enter the game
so anyone who enters the seven can able to enter the game room with the unique id
okay so earlier our users did not have unique id even the rooms added so actually initially the
user unique id was there but still we were not using a separate custom route that would have
been done later i thought we will do this later but maybe that is the reason this error is popping
up is something what i am assuming so we are trying to just do this like get this in a unique URL
and then we see if the same issue happens then then we try to fix that okay okay yeah
okay so we have the code ready.
Okay, so I have...
Let's create a private room.
Okay, done, done, done.
So it's giving me room ID now.
And I'm going to go to new tab and put this room ID.
Yes, it's asking my
username and join room fine
what did he click i think he and i think he dropped off
i'll check
so how have you been nesark
i can't hear you you're on mute see i'm working on an agent thing, building a more agenting infra tool.
Yeah, that's it.
Talk more about it. We will get you to one base cafe to talk more about it actually.
And that'd be fun.
So yeah, I just integrated the base feature where base MPC server had their open router
AI credits one.
So I can now buy basically open router I credits with app plus us listening
I just pushed it to the.
We need to we need to have you on a stream and explain it
so that I added other people also get it because I'll pretend
I didn't actually.
And Sidesh is back. pretend i got it i didn't actually and today she's back yes
okay so we have private room there it's starting good and you are able to draw it and then they are able to guess it
perfectly fine and I'm gonna create a new tab right now test if the room is working now
okay again same thing same problem so that that is not the problem the room joining thing is not a problem
now i think the socket now i think the socket i think the socket will not allowing it i think we
are communicating one to one so i think the third people cannot join as of now as they to start with
the communicating no uh so the the problem have what's happening here is the socket everything is
good but when when a new user is trying to, either the server or the front end is not correctly
optimized or correctly configured to tell the user that there's an already game going
on so you cannot join anymore.
That is not happening.
So yeah, we can create a flag to check the room ID with the room ID the game has started or
So with the unique room ID, if the game has already started, we have to tell the user
just wait for this much second based on the game ID.
And if they wait for this much second to start again the new game or you can just create
another game for yourself. You can enable this. Do you know some tools that we can use to lively, you know, use code from your system
I think the live server extension is there on the VS code.
I have already installed it and share the link.
Yes, yes, yes.
Good one, good one.
But then live server will actually, okay okay we'll be using the same
yeah yeah is this one or this one i think the first one yeah i remember using this like you
know couple of years back yeah back in the college days yeah yeah how do i how do i uh yeah in the in the bottom down you can start that exchange
flow i think you're sharing the whole thing in the vs code go to right hand side other
network tab that main with the github uh where is it on the bottom uh left corner. Okay. Yeah. Just go ahead.
You want a tunnel?
On the bottom left corner of the last option.
You can go live again.
It opens up this browser for me.
Are you sure you're able to do the whole public URL? Can you share the URL?
There is no public URL for me. I don't see a public URL.
Yeah, after you create the live server, it will give you a whole IP address and all the things. Just stop it.
Go live again.
I'm going to go live again.
Whatever it started, just give it to me.
Oh, I think it's starting locally.
Local host.
I can forward a quote and then like what's enough?
Local tunnel. I can forward a quote and then like what's in a 5500. And yeah, local time.
It's asking me to log in.
So I'm just forwarding, unable to forward it, saying.
No, we can't forward it.
For some reasons, we can't forward it.
I don't think so.
I think we're lying. Is this a live server thing or live?
I think this is not the one I believe.
I don't think this is the one.
I think there is what point?
Live share?
Live share.
Yeah. Okay. I don't think live. I think there's what for you? Live share? Live share, yeah.
I don't think live server is just like, you know,
you can use like HTML,
you can just see preview, HTML,
I think this is the one.
Yeah, I think it's from Microsoft.
Wait, can you not Google this?
Which one is the actual one?
I think this is the one.
We can. We can we can good good tip
no it's for me because i i always have to check things a little bit yeah i'm not sure
yeah i'm still not able to see any button here like you know anything i don't see anything here
Nisarg, I'm still not able to see any button here, like, you know, anything.
I don't see anything here.
What is it?
Should I restart my VS code or something?
Remove the previous one.
Just remove the previous one.
Remove it.
Then you can see the go live.
Yeah, I can see. Yeah. It's still opening the same thing like you know
whatever this but we have to restart the thing I guess yeah yeah wait what what are we trying to
do we're trying to host the website no we are trying to actually like you know, Sinc use my code and give access to Nisak so he can also like you know look at the code and help us.
Can you not do it with that ngrok thingy which you did last time?
So ngrok is only for actually using the product like the live link of the website. You can't actually write code on my VS code. All code are saved. You can just dump it again and close it again and start it again.
Okay. Done.
I still don't see any.
Left side. live share.
Command not found.
I think it was a modern native integration like the VS code.
Yeah. Let me let me do one thing. okay
I think it's fine.
I think it's not working.
The live share is not working.
I don't know.
Do we have VS code?
I have VS code, yeah.
But then we can't do it.
Just open it. I don't have VS code. I think there is some, I think Pursar have not tried to do the native integration of
the live form most probably.
Where are we right now?
PNPM. Where are we right now? Just add a, I think just add, ask Claude to add a flag whenever we basically start a game
and if any users basically joins it after just tell them to wait or basically start
their own game.
I think that will work.
See, one second.
Oh, I think you have to also give context to room IDP.
Which context? Yeah, I will. So I've given, I've given the, uh,
three things that we are working on. All the files are given context.
I'm asking oh you thought could be able to be in the game they should be any other okay so you You have all the necessary. On.
Let's see what happens now.
To make a flag for it.
Can we also add like make a flag for it?
So the making a flag is like a thing that they have to come up with that in our space.
Can or it wants. OK.
See, it's checking in.
Yeah, if the room is, yes.
The thing is, I believe the code for this is already there.
OK. there okay okay so I'm gonna apply all these changes so first we have to server-side
logic I'm applying it I'm saving it and then client-side I'm accepting it.
So, okay, so I have restarted the servers. I started both of my servers, everything is running.
New tab, localhost 3000.
I am going to create a new room.
Okay, put this in.
Okay, it has given me a new room so join room and I got the link and they
copy it and then I'm gonna come to a new browser something like this place this
I'm gonna join this room now but we have both rooms ready okay let's start the game
okay so we get a new new issue here which was also happening last time
okay this is what was happening last time
uh did you see inside what was happening yeah i think whenever, I think when we made it on the start game on the server side,
it is emitting the event, the game started, but on the front end time, I think it on
the on the board side, when we tried to join the game, I think on the front end side, it's
showing events that already had started and it is, it is basically connecting after the
event has been subterted.
So they should be able to join it both able to join join it and after both participants i think
before the game and after the game the participants should be equal and after the game the event
should be efforted so after both have joined the game the event will be happened and when
once the event will be embered and the new participant can't able to join it i think that's the issue but but uh this is like very weird because i think the problem is with like you
know friend is emitting some random uh it's it's just emitting some random events that
that's actually like you know kind of closing the connections between the user and the server
kind of closing the connections between the user and the server so if you see so I have already
created a game on the tab and then I'm joining here from here okay I'm joining here and now it
now says two users are there and the game has not started I'm clicking start game okay now it works
okay now it works like okay things are seemingly working now.
Try with the third user.
So now let me actually try with the third join third user.
Okay, username, second.
Okay, again, same thing.
You see, we get this error now.
So let's do one thing here. OK. okay
like it's pretty uh i mean we have stuck in the same issue since last live stream i think like
you know while coding maybe,
we are not there yet for while coding an entire game like this with logics.
Maybe we are not equipped with like,
you know, we're not good prompt engineers.
I think, I think server is doing logs right now, right?
Okay, server is doing logs right now right okay server is doing from like it was it was there from
so maybe uh i think we couldn't believe so one of the problem i saw was uh this uh see if you see
this was getting called like you know disconnection was happening or some reconnect was happening every time so what happens
is like when you click start game uh like the the front end gets disconnected with this back end and
then it just creates a new connection to the back end like a socket connection is established it's
everything is socket how the events are triggered let's let's see what you know Claude does now
let's let's see what you know claude does now
jointing error
okay so we have fixed we have we utilized all the code that claude gave us this time
i'm restarting my server front end and the back end everything is restarted now We have utilized all the code that Claude gave us this time.
I'm restarting my server, front-in and the back-in.
Everything is restarted now.
So we are going to close this once.
And so this time, we're you know random UU IDs.
Again there's a problem here it's asking username again and again two times.
This is also a problem.
It's creating the UU ID and the UU ID does not have the context of the username. So it's asking.
I see when I put my username and click create private room, it creates a room and then
asks my username again.
my username again just take my username once and create a room and show me the link to share
okay let's see I mean, I think I have not even seen a single code inside this.
We're just blindly accepting whatever AI has been giving us
Yashika, any update you have? How many people are watching us?
YASHIKA KURAJANI- Yes, we have 1,066 people watching us.
Nisar, you can also call your friend
if you feel like they can come.
YASHIKA KURAJANI- No.
Call a friend. You call a friend, then they call a friend if you feel like they can come so call a friend then they call a friend
yeah I mean if someone is able to follow it bro can he come and then help us you know ship this
I do have some really good quarters but the problem is we are vibe coding we are vibe debugging
no but then ultimately someone tells us what's wrong yeah but then they have to have
they have to they have to have the patience of reading all the code that they have us
you know spit all along so yeah i mean then it's like just call your call your friend you have one
call call a friend call or text but the but the problem is uh I call one, I wanted to have the context of the game, live context
of the game.
And I want to able to solve it, but to able to solve it you have to share the live screen
and it's not working.
Otherwise the new one doesn't have the context.
I think some old code that has been pushed to the GitHub.
So the problem is like we need to make it work the live share tables too.
Can you push the updated code to GitHub?
No, I have pushed the updated code to GitHub.
Like nothing has been added now.
We just try and stick that thing in the Exact issue that is there in the GitHub.
The GitHub does not have a server.
So your server has.
No, no, no, no.
GitHub has a server.
If you see like server.es.
That's the server file.
OK, so I'll start with that.
and preview provider has been missing from my side
right uh wait what if we leave this issue right now and we go fix the wallet uh thingy and the
uh front end thing yes that's a good idea yeah yeah let's refresh it
it will be refreshing yeah yeah or just push this code i'll look on this code you try to do
uh in another branch i'll try to do the same try to solve this okay yeah perfect perfect
and you can also call your friends it's like like, this is what I'm trying to solve.
Maybe your life's in yours.
I like the idea.
I like the idea, Yashika.
It's like a funny thing.
You keep calling your friends until you find the answer.
Yeah, that is a good thing.
That's how my mom offered it.
She's like, I have a friend.
OK, last one time I'm going to check. check then we're gonna move to yashica's
suggestion you know adding the functionalities okay so we're gonna do that
okay now it is seemingly looking good good and username jin yang trying game is one game card game
okay okay i'm reverting the change what that whatever the code is on the github is
what I'm actually working on right now so I'm just gonna use the solution given by yashica we're going to just go add wallet connection part and then like add
the game logic okay okay cool so we have last one time let's check it once
you join a room and then another player joins the room uh you can
the admin gets to start the game and then they can draw okay I don't know for some reasons my okay let's let's get make everything the issue check the issue what's the issue I mean one more start
from one more place and check if no no no it's not the one more if I that's that issue is still
not fixed no we just saying that yeah we're just gonna add the payments functionality okay okay cool
so what we're gonna do we need to add payments functionality as previously mentioned in the start of the series we have previous wallet connector already set up meaning the starter
template that we have has the wallet connections and the frame functionality is already included
for example we just want to show a way to connect wallet right
so so we can just keep a button here okay to connect your wallet when you join okay
so for that what we'll do is
mm-hmm okay so what we need to do is very simple we just need to copy this wallet connector component and we just need to paste it here and then
we're placing it on the front end side yeah yeah okay so now we have connect world button yeah okay
hi somya we weren't able to fix the issue so So we called Nasarg. And he's going to fix the issue while we
try to add the other functionalities.
Oh, damn, you're nice.
It's just becoming like a full team project, right?
It's nice, right?
Good vibes.
How's it going, Nasarg?
Yeah, just cloned the basically server and both the things.
So I'm just going to find the, I'll
find the basically able to find the issue.
I'm just going to find the iteration if I able to solve it,
adding the flag and showing if the user
able to reject or wait for the new .
Imagine if the way to scale is that we start making this and we make the repo public and we allow everyone to add.
No but we allow everyone to contribute openly to commit to different features and we put
out the roadmap and imagine building in real time on a stream with everyone uh making comments
yeah it would be fun like we could just pick up the features or set whatever and then everyone can
you know concurrently with you know in the middle of course and then everyone can merge everything things work, that would be fun.
I think we could have done in like 20 minutes. Like everything was done in 20 minutes.
Oh, full decentralization.
We'll see if it works or not in real time.
But we are at 1,100 people watching this stream live.
Yashika, you want to quickly uh give everyone a
sense of uh what have we been doing what are we building here what is the day is doing what is
so i'll present my screen because i have the updates
The updates there.
Yeah, we started the stream with this issue
that if someone puts the same room number as a running room,
there's an issue.
And this is Sidesh's GitHub ID, which
is now being worked upon by Nisal to solve this issue,
because in the past one hour or so, we were not able to do it.
Now we've moved to adding the other features
that were remaining.
And next up, like here, we had to add Vault functionality
and make front-end better.
So Sudesh is working on that.
OK, awesome.
So the public room, so if you were
to look at things that have been done,
firstly, if I understand this correctly,
we are building the on-chain version of Scribble.io
on a frame on Farcaster, where people can play together
and guess.
So it's like Pictionary, but on a frame.
That's what we are building.
And right now, where are we?
What have we built so far?
So we plan to host the game twice a day and then people can join
in there uh we've tested it for two people like two people can join in at that same time uh once
they join the game starts at three rounds and whoever wins takes the prize we're keeping it
one usc right now so if uh someone joins in they pull in the money and once the money uh once the
winner is decided they get entire amount uh right now we're at the game works for two weeks
the game works for any number of people but the problem right now we have is let's say there's an
ongoing game but someone still tries to join that game they're
allowed to somehow join the game that's the bug that we have right now but any number of people
can still join the room and then they can draw and then they can guess they're given a score and then
whoever gets a higher score will be winning their particular game that thing is working we have this
actual scribble game thing working now we are trying to just make it like a better version and
then add on chain functionalities like rewards on base okay so what if what if we started simpler
right like instead of maybe pooling in what if there was there's a pool already in place so
instead of uh adding the like people creating wallet adding functionality. Say I put in the first $50 for the first 50 games, right?
And in a pool.
And then it's more about the functionalities.
OK, whoever wins wins a dollar.
Game happens once in two days.
And then you only need the person who wins to add in a withdrawal
flow there.
And even that you can direct.
You don't even need a withdrawal flow.
You can just send it to a farcaster account
so one thing that we are doing here is this will be as a frame right every
farcaster user has a wallet everyone has so they don't even have to connect
their wallet if this is loaded inside the frame it automatically connects
no nothing with it no interaction with it so so what does the payment flow look like so the payment
flow what are we like we're fetching the forecaster so so once once the user clicks login they are
automatically connected to the warplette wallet right they connected to the wallet and then when
they want to join a game when they click join we say like you know pay one usdc when they click join it requests a one usdc transfer
to the game's wallet or something like that that's it then it's pretty simple you know you just try
to keep it very very simple and then when the game ends the winner gets the money back okay
some of the things that we are testing here has to be tested only because we are not testing it
inside of our cluster right now but when we go inside and then we start testing inside
our classes things will be a little different like you know all wallets will be automatically connected
to the port you're gonna have to even worry about that umおやすみなさい SPEAKER 1 is this cost issue is like a very head you know headache for every web developer out there
so much of issues when you're trying to test something
okay what is it testing so uh there is a issue you know what happens when you're actually building
apps and then you're actually using some external services we are using privy and then since we are
running our app in a local host environment the browser blocks certain you know communication with external
websites and it's called course cross origin request you know something so the browser
thinks that it's not you know safe or something to use this resource uh so it it kind of blocks
it this is like a very big you know head to build you know server client you can
want to interact both of these uh you know websites together so that's like a headache
so we see like you know uh first time you're gonna get wallet okay then you just can you know start the game. I'm gonna so now we have added the wallet functionality
It's done already you can see I am going to
How do I join the second wallet?
New browser
I don't have any
Let me install in your browser from.
I don't know, Thai.
Can you give me English?
How do I get English?
OK. Download. how do I get English so while that downloads the the functionality is now added you can see all you have to do is when you join the game you just kind of
your wallet and then your wallet will be taken as the user and then from that point uh we can play the game everything is every other logic remains the same
but but yeah
now we have google chrome installed. I'm going to go.
Can you remove me from the stage for a minute? OK.
I'll remove your screen do you want to yeah
you can just remove my screen for a minute yeah done done
I'm adding my wallet information So are we getting another friend to help us?
Yeah I called my one of my friends.
Let's see if he's freehand just shopping.
We actually need wipe coders.
Do you have any wipe coders in mind?
It's like an actual.
I think it's time to set up like a telegram group just for wipe coders.
We stream twice a week up there.
Come on stream and we like start coding.
I think it might be a good idea.
Yeah. Can you hear me?
What's happening? Nisar?
You were calling your friend.
Yeah, I just met him.
I mean, yeah, we should be.
Oh, public calls.
No, Nisar.
No, Nisar.
I was getting telegram.
I just rejected it.
I thought you were going to call your friend on the phone.
This was full KBC bro. so do you think we should use one usbc or one usbc worth of ethereum on base
i mean one usbc i think is better no but the problem is like when you want the user to actually
transaction there are two transactions two transactions send transaction but if you see
it one it's just one this is one clicking yeah i mean it's fine we can use it yeah if
if anything we can tell them that okay I think you can pull up my screen back on the stage. So right now, if you know the wallet connection functionality is working
meaning like you know let's say when a user comes to our website they connect their wallet
and they can start a game for example like they start a game and then let's say I create
a new page and okay let me go to the browser and I go here and then I connect my wallet and then
you can see my wallet address here and I can join the room and you can see the players
in the room and the admin can start the game and then they can they can draw it and everything everything seems to work if everything seems to work you've got and it also shows the points uh
you know how it's created we actually came up with the logic of scoring scoring players and then
that's working perfectly fine so now what i'm trying to do is adding one each payment one so
one each payment one oh not one eight one one this game is going to be this. And we like, bro, like, for Caster Frame,
who made it before the Scribble?
And this was one of Linda's ideas, right?
Yeah, it is.
Now, I think we should.
Siddish, 1,400 people are here trying to support you or are gonna judge you if you don't pull this
off okay i'm going to solve the issue uh there was some streams basically uh so i let me share
my screen okay uh so this you might have pulled down yours okay i mean can you can you not take
it down like no i no i can i can i'm
just telling you i'm gonna take it down uh nisar you will have to share yours yeah watch it
okay uh is my screen is visible uh yes
so yeah right now uh what we are we are gonna just create a game.
So I'm just gonna create a game.
I'm gonna copy the link and the browser I'm just gonna...
Okay, from this browser I'm gonna join the existing room. Two players are there.
So after you start the game, the game is starting. So you just draw something or anything.
The word is Fox. The point functionality is working. So right now the game has started.
So I'm just gonna join from under tab and just gonna say testing and here error will be there.
Yeah, this was the required right?
Can you come again?
I just missed it.
Okay, so right now the game has started between two or any player.
So the game is already in process.
So I added a flag that game is in process and the event has been fired that game has
So now you are the user.
So now you show the game is already.
Please wait for it.
So I'm from discord.
You can clone.
But I think you have not changed the page or server right as of now I did I
did but then what you can do is you just create a new branch okay Finally, I think Nishak made it work.
So we should give him the master title of, Nishak did you wipe code or did you actually code?
No, I find the code where error was there.
Sorry Nishak, we can't give you the wipe code where award then.
I basically I gave the code to AI to basically try to write the whole..
I find the error in which basically the event was firing uh before and the game the first issue was like two joints and the uh we are not able to join so i
added a timeout for one sec so both can join after timeout was added the event just like that before
event will be fired so global event will be fired and after that cannot able to join any user okay okay okay So let me know once you actually push the code so I can take a pull.
You need to add me as a collaborator.
I created a new branch called new user in which I pushed permit. Hum...
Hum... What's your username on Gitter?
Nishu, N yeah okay i added you to
the repository you can now push the board oh
oh should i was on mute what if you made this a public repository and just ask people to solve it for you yes it is public
repository but uh um user need to fork it and make it a pr to be able to solve the issue yeah
yeah i pushed it on the user branch okay
okay should i make a pr oh yes yeah uh but if you make up here i have local changes right that'd be
that'll yeah you know what you can you can make a pr you can make a pr
wait if he makes a pr uh that's a pull request or a push request
Wait, if he makes a PR, that's a pull request or a push request.
Pull request.
Pull request.
Can you update your changes and then...
Yes, I can.
I can, actually.
Let's do it.
Give me a second, Nishat.
Yeah, no worries.
I created a PR whenever it's free.
After integration, you can check it out cool cool cool awesome
should we should we should we you want to take up another feature and then add that to your code
yeah sure you want to do that okay yeah what else is the meaning I think I think right now
uh the payment functionality is added from uh from my
side so what i'll do is once that payment functionality is added uh i will actually
push the code and this will have access to it and then this will actually maybe try to pick up
uh features like beautifying the ui make the ui a little bit better
like beautifying the ui make the ui a little bit better
what will you do sudesh what will you do i will be finding other things to do okay
wait let's let's actually see what is where we are right now in this particular thing and then
let's go with this house course you have uh we have hit the limit on my cursor yeah it's not working now
i think you can drop it down or select the 3.5 i think 3.5 will work
okay okay okay let's see 3.5 you want to try yeah
okay update because we have 1500 people here watching
uh i'll just pull my screen and wait no we cannot use
uh actually we can use something like small model
yeah actually you can use something like small model yeah maybe like deep-sea carbon no I think it's not allowing us to do that I think after 50 prom it will not basically yeah
I think someone has to gift us Cursor Pro or Winstuff Pro now.
i think like you know someone has to give us cursor pro or like win stuff pro now
I had Cursor Pro.
My subscription just expired.
We could have just jumped on the bandwagon and used yours.
So, finally, we have solved the issue we were stuck at for the past dream and a half
we are now adding uh we have not solved it missus has solved it we're gonna merge the code
nissar wrote with the one sidesh wrote so that it's all consolidated while uh we're also adding world functionality which is almost done uh and
making the front end prettier so yes and for people who've just joined what are we doing we're
building a frame called draw with friends basically a decentralized version of scribble.io
where people have to pull in money uh eat here to play and the winner takes it all the game starts twice a day you have to join in under
120 seconds and you can you can win some money if you win through the three rounds that are existing
how much is like one one usdc of eth right now how much is he thread now
1800 around we can just do like one usdc
okay we can just do 0.005 eth
yeah Yeah. While this actually writes the code, let's go quickly check out Nisarg's PR.
Two minute break.
I'll be back.
Okay. Two minute break.
I'll be back.
So you have added this.
Yeah, I did the same stuff like you did, you created the room ID, right?
So what AI did you use for this?
What tool did you use?
I used the Cloud Pro, basically Cloud 3.7.
Okay, okay, okay.
So you have the Cloud Pro?
I used to have Cloud Pro, like I just switched to Grok.
I feel like you know, Grok is way way better than Cloud 2.7.
Because I'm...
No, no, go ahead.
Yeah, I'm waiting for my subscription to move to Grog.
I think Glock is better.
Yeah, Grog is like way way better than Cloud.
I think Cloud is good like i remember
like doing some some big big work in a legacy code base using uh claude was perfectly fine for
that but the only problem with the claws even if you buy pro bland they still give you limits right
yeah that that's like a big big like pain i think for me. I cannot use Claude after I hit that notes. Thank you. I don't know why yourog has so many things.
Any box works.
Contact on success.
I think it's passing it on defined.
So I think there is no on success hook also. So yeah we can just add toaster or anything that deposited, submitted or..
Yeah so the thing is like you know use wait for transaction, they don't have on success thing.
Let me actually copy everything and do the crock. So once this works, I think we can merge the branch and then we can push the
code so we can test it out.
But do you think there's some way for us to make a tunnel?
Like when I use my ng-rock free free account i can only use one tunnel oh okay
okay maybe like i i actually tunnel my server and connect it
that works right yeah or if it is a simple server uh i can deploy it on aw if you want. No, no, no, no. That's, what we can do is I'll tunnel the server.
I'll give you the link.
You use that link to connect to the server
from the front end we have.
So we can test it out and see everything's working.
I think that should be fine for this live stream like one of the issues that i've seen with claude is that claude seems to be a little
bit outdated on the information like for example wagmi v2 it doesn't know what maybe it uses v1 deprecated hooks and all the most of them
it uses the older versions of the you know libraries and frameworks but with grog i think
it's pretty pretty fun it knows what is the current information i don't know maybe because
it has access to twitter but yeah
i think you will have to take a i think you will have to rebase your branch and then we can merge the branch yeah works
because i think i have done a lot of changes on this if i just merge your
code it would break my code One of the cool things that Grok does is like I think it has a longer context or longer
output tokens limit.
With Flot I think like you know the limit is less so you just have to say continue, continue,
continue to give you more core or whatever.
In free it's too much less like I think around 700 to 800 only.
We have to type in so many times to basically continue the remaining code, continue the
remaining code.
Yeah, yeah, yeah.
With croc, I think you don't have to deal with that.
I don't know if the output token limit is large or I don't know if it's automatically
asking to continue the leftover response to just make it a better
ux for users at least in the ui i don't know but it's it's good actually OK, finally, we have the entire code.
I want to hope that it works perfect we have this you can put the room ID and we need a deposit yes
oh okay okay we have a problem here we did not actually deploy the contract anywhere how can it just write a script no we'll use we'll use what is that we'll
use remix yeah wait how will remix connect to the code that's here you just have to put the contract there and then you can deploy it to Linux yeah last
time no yeah but then okay I forgot the integration bit so I will show you show that but so in here it asks the contract right so I also asked grob to give
us a smart contract for this particular use case and grob gave us a smart contract here
yeah this is the smart contract it basically has a way to deposit money into a game and then you can
start a game and then you can declare winner and then the winner can withdraw the money from the
pool and then that's it like that's what we have so we'll go to remix id remix.ethereum.ide
and we're going to try to deploy it and I'm just going to create a new file under contracts
and we're gonna try to deploy it and i'm just gonna create a new file under contracts
we just say raw.sol and then I'm going to paste this and then let's actually deploy it on the
testing VM here we have deployed a contract here then let's test it out
how are they actually creating a room i don't know how they're creating
room this contract depositing and accepting the room id so you can just write any random room id
in the deposit uh but then like you you you have this struck yeah
but then like you you you have this struggle
called by anyone in the room but then like everyone has to okay okay let's let's assume
okay room right let's uh i just want to ask again what's the flow
the deal is this contract tracking all games created So in the meantime, let's also try what Nisarg suggested.
So you are saying that I just need to put this room id.
Room id, yes.
Let's say you created room id called sy1.
So write sy1.
And let's put 0.005.
I cannot put..
Guay is 10 power 9 right?
So what is 0.5 is five zeros.
One, two, three, four, five, six.
So this is 0.0005 each.
One, two, three.
You can see the contract has the balance now and I have deposited.
So should I just go and start the game?
Start the game. Try in your account and deposit
from there also yeah i think that will be the better way so three four five i will deposit to
the same room which means the contract has 0.001 eat now yes yes okay the game is started. Let's check the room information. 1, 2, 3.
Yeah, total deposit is there.
Game is started.
Okay, so now who sets the game winner?
I think there is a function called declared winner in the first one.
Okay, this is also anyone can declare.
So this is going to deploy, only the deployer can only the deployer can we can do something like that
right yeah i'm declaring the winner perfect okay winner is declared and then withdraw money room id
perfect everything is working yeah contact is good so let's do one thing
let's ask them to make sure only the contract deployer can actually declare
winner let's do one let's do that part and then we can just use it why are we doing this
anyone can simply say I declare the winner directly see this
as the contract accept anyone so uh there is no uh dependency as who can declare the winner
so we are adding the dependency only contract can declare the winner itself basically okay
but then that doesn't mean right siddish can declare the winner it just means the contract
or the code can no no no no no no no like the one sidesh who is deploying
this contract is the one who can decide and yes select the winner but the way how we select is
also like this decided by the front end code but my wallet controls the decision to actually pick
the winner i can be manipulative and then try to manipulate if i'm a bad actor which i am not
so but but you can be what if what if you try to make your friends win or something i can i can i
can again can we make the smart contract a little bit more just so that only the actual winner wins
no that that puts a lot of complexities we have to add a lot of
players into it i mean yeah that that that will add a lot of complexity to the game
for which we will need few more white quarters with us to help us do that
help us do that
pipe you sure by put us are actual coders no but like we don't need actual
coders we just need by quarters okay so I'm going to declare winner so the declare winner can be happen can be declared
only by the deployer if i try to just call this it would say an error so i'll just go
to my admin wallet declared winner declared let's try to withdraw money only the winner
can withdraw i'm using my winner wallet and then i'm trying to withdraw withdraw successfully fine everything is working fine in the shark now everything is working fine
we can just go deploy this on mainnet so uh
so let me connect my wallet i'm gonna use Meta mask because that's the best
wallet out there in town feel free to argue if you don't think so but yeah we We are going to deploy this. Done.
So done, we have deployed it.
So now we also need to ask Grok to update the UI code, right? Based on this new contract.
I think we just need to update the declare code based on this new contract.
I think we just need to update the declare winner on the frontend side.
I think it should be auto able to assign the users with the wallet address.
But I think it can be intercept in the middle, right?
We are just writing the function and frontend is calling the contract itself.
So if someone tried to intercept in the middle and can change the address.
I don't understand. For declaring the winner you mean?
Let's say your smart contract declared the winners and front-end passing
the address of the users that is currently the winner. Yeah, yeah. Let's say you make
a call, I intercept the call in between with the network tab and the request didn't actually go to
the server. No, no, no, no, no. That's no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, on the next level if you want to take it to the next level if you're actually yeah yeah
paste yeah okay so i have given the new contract and then asking him to update it
the front of the flatwood i integrated yeah once we get this rendered now everything should be working we'll be tested out um yeah
working with build that stuff.
Yes, you want to give an update?
Yes, she is.
Yes, she is.
Yes, I'm here.
So the update is we're at 1643 people and
Watching a slide and I we have made a scribble.io like
Decentralized version in a frame. We have not put it in a frame yet. So we have the
Basic logic running people connect with smart smart contract call it
They have to deposit 0.005 ETH. Everyone deposits it. The game runs for two times a day.
And the three rounds, whoever wins the round, they get to take the money. So that's it. And we're done
with the MVP part. We're actually done with the functioning of the game, I feel like.
We're just in the integrations finding integrations yes yes and we just make it pretty that's the last bit
yeah we just need to make it pretty and then like a game that people want to try and then
it's all about the hyping up the game so we get like initial people to actually
deposit some money and then it becomes it looks attractive for people to join.
Join the public game. Thank you. yeah I think we have the contract let's go i need to add that private key in there yeah maybe uh stop your screen sharing and add your private key and
again share it yes yeah so let me actually first like get the contract address that we deployed
here yes the contract is on base minute so i I'm going to put this contractor hardcoded.
It's fine.
It's here.
Yeah, where is it?
Yeah, we'll put it here.
So I think that Brock made one mistake.
It's using VM again.
into books.
Because we have
I just recommended we are actually going past the live stream time uh what do you yeah follow the doors I think for MVP this will be it after you integrate it and just merge the code and yeah
I can pretty much pretty basically make it pretty decent basically people let it people
test it out before the actual games happens and can make the version
yeah i mean we don't have to worry about like you know testing couple of them because i've
actually taken only one eat itself we're not actually asking them to give other wins of the
usdc or anything so what we can what we can try to do is like we complete this on next live stream
we just beautify this and then launch it on the live stream and the camp we can use it there it'll be fun it'll gonna make a mistake here again see what is happening Varmi's use contract. So, let's go. So here Grok is making a mistake again. It's just using this particular part, which just takes in the wallet that is connected
to the website.
We just need to make sure that we are using the private key.
Yeah, we can just manually add it, I guess.
We don't have to ask Brock again.
It's going to just make mistakes again i think
so we can just manually add it once the code is completed here Nishag are you going to Taiwan for Eat Global?
I was about to but no I cancelled plan.
What about you Ashika?
What will I do there, first off?
Because I cannot code.
I can vibe.
But then you can still vibe code.
Yeah, but I have too high fever to be allowed on a plane.
I just thought about why not go there,
live stream 36 hours,
and why go to an app, and then submit it for live stream
on live stream.
So I think I'd probably be doing that.
I'll be cheering for you from your 1,700 people.
Yeah. I'm already ready let me know if you can help or anything or if you need
any teammate um i registered myself i've done all the things taking baking but yeah cancel the plan
but then like you have to check in you have to come to taiwan
You have to come to Taiwan for that, bro.
you have to come to taiwan for that bro
I am actually going to Taiwan this week, Thursday.
Best of luck, man.
I think this time I just wanted to try something new.
So, that's why we're going to try to vibe code.
And not really vibe code.
We'll be using AI anyway.
But then, like, I want to do a live stream.
So, it's like, you know code we'll be using it yeah anyway but then like i want to do a live stream so
it's like you know it'll be fun so i think now everything should work
uh let's restart the server and see what's happening here
right so while it is connected contract owner whatever and then room id 123 room in first there deposit it is taking some eth but i don't think i have eth on this particular
account let me check it out yeah i don't have that much amount of it i'm not that rich on this account so let me
connect this okay so we might one two three and deposit and what nothing is happening okay
and what nothing is happening okay there we go there we go it's taking 0 5 for each okay
around yeah we don't have any burner or like we don't have any way to get it back
okay uh the private key to account has been added for the not added right now so let's let's let's get the private key account
added here yeah let's go add that uh where was this uh vm accounts you can directly import it
uh maybe install vm yeah it's already there it's already there okay so vm accounts i think there
is a function called private key to account yes yes
yes yeah yeah you're right you're right where was this code and then yeah yeah yes yes so where will
the money go once people deposit it in the smart contract but you were like there's no way to get
it back what do you mean there was no private key for the smart contract no no like sometimes when you're developing we did not if we
mess up some logic right then how do you get back the money that you deposited
okay what is the second way we're trying to do this you can have a function that
allows to take all the remaining
ethereum from the contract to the deployer wallet but that again has become like a cheating but then
yeah that's there can you can you stop my screen for a bit yes give me one minute
done removed are you sure yes sir please tell them that i've removed yeah you can pull my speed pull it back again okay
so as you can see i'm joining this room okay it's taking 0.05 eat okay i'm taking 0.05 eat
and i'm gonna before that before that i'll also do one thing since i'll be doing it from my other
i will open up
Maybe add another wallet right?
Add another wallet here. okay so we're gonna we're gonna we're gonna just join a game room id one two three and
it's saying deposit this much money to join this game depositing find the
message this is taking 0.05 from my wallet to the account to the smart contract that's it's loading
let's see what happens now okay done done done you can see now the the thing is deposited you can see the details here total
deposit is there now I'm gonna join from this new browser which is simulating a new user connecting
a wallet connected wall connected room I one two three again deposit money to start and we are going to just deposit money here let me go to base let me actually
deposit it is taking 0.05 again the game is started now we are talking about real money involved so hopefully I
will be in my back but yeah wait both are your wallets right so even if you lose
you just made a swap here yes so right now what happens both the players deposit the money the money
is in the smart contract okay so yeah that's what happens right now
i don't know why it's taking so long uh check your wallet if the
why it's taking so long.
Check your wallet if the transaction went through or not.
Yeah, transaction went through, definitely, I guess.
Oh, it's ending.
It's ending.
Oh, it's deposited.
It's done.
It's done.
I don't know. Should I okay okay okay okay okay so we have two players here I'm
gonna start the game okay start the game also request a transaction which we can remove it
I don't think we need transactions for starting a game I think right yes I think this starts the game how the basically we can use the we can use the
admin wallet to do that yes okay I'm gonna draw it I don't know for some reason I'm gonna try to go shit bro I have to go to drawing class now
sorry I can't talk yes I'm gonna say app perfect I'm a winner and then now this bear draws so Nisha are you able
to draw properly on your screen no I'm also bad basically I'm able to draw are you asking
about the UI stuff or actually I'm drawing what happens when I try to draw are you asking about the ui stuff or actually i'm drawing
what happens when i try to draw right i'm actually getting a little bit like it's not actually very good like it's just yeah yeah yeah it's just yeah same thing for me okay then i'm not i'm i'm a good
drawing guy but then okay so you can see the game winner is chosen and now i have to call declare winner i don't know why we should we should
not actually have declared winner right instead like you know we can
what was the winner selected already i think the transaction went through with the admin wallet
yeah yeah let's let's check the details the details yeah one two three yes the winner was
said properly and you can see one here right which is pretty good right withdraw wow yeah okay
get that money back okay perfect perfect perfect i think things are working so
okay no perfect perfect perfect i think things are working good
finally finally we have something okay cool so uh yes things are working now so what we're
gonna do now is we're gonna i i'll commit all the code here okay i'm gonna commit it
i'm gonna commit git
uh on chain payments and then i'm gonna push this okay
nisa can you rebase your branch yeah yes can you release your launch
launch is yeshika with us still or she's no i think she's in the stream but i don't know
i don't know i'm here i'm just off camera okay okay so updates we have completed the app
onchain payments is working uh i was able to get the money back the winner was able to get the money
back uh right now i'm i'm gonna we're gonna merge the changes that nishark did and do a final
testing and then we will end the stream here next stream we will be launching this game with
beautification basically like add some cosmetic changes but uh yes you do you think we should do
it on the next stream or should do you think i can just do it off offline just get the beautification done and then launch it because the functionality
wise everything is working what do you think what if people want to learn how to verify or what if
they think you took help from someone actually yeah you mean call forward I'm okay both of them let's let's do it on stream
let's wait for this actually doing this on his repository and then let me just show what we
are have right now and let's also write down what we'll do next stream to do and then like add what what we'll do
how many people do we have right now
1752 you're saying
You're famous Siddish.
And you had missile support, so you got even more famous.
I still do think, like, you know, in terms of beautifying this app, if you can add some funny things like, you know, when
you draw something long, you get like a funny meme or something.
Or when you really get a funny meme, it will be like even fun.
So yeah, we should think about those ideas before the live stream so we can just implement
them. Okay, there is some basically conflict on merging the PR.
Okay, maybe let's do it. I can do it on. There are 12 conflicts.
we don't so there are 12 conflicts
uh you need to merge the conflict or remove the things from my code i think my code has
little less information around the states that have we previously maintaining like the links and
the can you share the ganishes can do it by uh vs go i can it's easier to merge
uh vs i can it's easier to much do you want to share your screen yeah sure yeah i was looking So I was trying to get the contact from here.
Or should I do from the VS code?
No, no, I think like browser is like not really good.
It's so you can do it from VS code.
VS code is good.
What are the merge conflicts?
I think the conflict is like the page or TSX.
Basically, you added all the things, the new things like Xcode contract and ABIs and
So basically I was initially, I don't have any context regarding that.
And there was one thing basically on the how you handle the use states.
So I was using some very use effects, you are not or you are starting it with on
the basically events.
Can you go to your VS code?
It's cleaner.
Open the HDS file.
You don't need to check out.
You just do git merge and give the did you get pulled?
Did you get pulled?
Yeah, I'm checking out into the main.
Get branches ahead of the branch.
I think I already pushed it once.
Don't push your code on main branch.
Sorry? Did you already push once?
Onto the main one or not push to the main.
So I think what you can do now is like actually go to your branch.
Go to your branch.
And then what we can do is,
so you, okay now what we can do is like, you know, get merge main with merge argument.
I think that should help you get the code
from main branch in here.
Already up to date.
How? How? Okay, did you...
Or maybe like let's dissolve on, I mean, it's cleaner to do it on like maybe go to this.
Yeah. Go to page.tsx file.
It will show this a context, like not here, not here,
not here on the VS code.
VS code. If you do get merge,
it will show you the conflicts there itself.
It's not doing.
Ask, ask AI. it's not doing ask us yeah Do you think like you can see.
Yeah, I got it.
Okay. Okay. Okay. Okay. Okay.
Hope that's not something very urgent.
Yeah, except everything from my you can not everything.
That's from the cursor.
I think if you accept like that don't accept from that
part like just accept the each individual blocks of code from my my branch and only
accept the code from your branch where like game link and the use trade effect accept those changes
first where i'm getting the conflict okay I want the both the things as of now.
Yeah, yeah, yeah, keep both.
Keep both.
Like there's a button for you to keep both.
Like if you go left side, left side of the code, yeah.
Can you scroll down?
Can you just remove your AI chat window?
Remove the AI chat window and then close your sidebar or you close your sidebar control B and then like can you scroll left to the left and you have an option to keep both
yeah I think I but I don't see currently at every conflict they are asking the question which to keep. Yeah, you can click keyboard. I think I'm gonna check my thing for now because your is empty.
What conflict is remaining?
Okay, we want to keep both from here.
Yeah, you can either both except combination incoming first.
Yeah, that's a good.
Okay, I think we are with zero complete. But then how but we did not add the use search params right?
Oh, that's not a problem.
Oh, no, that was not a problem.
Okay, got it.
Before you push to GitHub, can you test it once on your local instance?
It's almost midnight for me here.
Exit the file where I'm disc grading what I'm.
No, no, I think you just can forget it.
Don't do anything.
Even if you revert it, it's going to cause problems.
So you just keep it there and just run it.
Yeah, because I removed username and I've added that you know whatever this is that okay so you remove it yeah I have removed it yeah I have
removed it so you have to accept it you have to accept it accept will remove it because
you have to remove it you have to reject it yeah no no no if you remove it it's gonna
keep it there so you have to accept it you understand no i'll basically set the username to the
ones that wallet connect with the user i don't understand what okay try try try but i think
it will not work at this point okay okay so you you just have to keep it there, like accept the changes.
Remove that line.
We need to maintain this.
Accept, accept, accept, accept it.
Also accept every green box.
I think you have not accepted this part. Accept it.
I think I have to accept it all.
Okay, accept all, accept all. Let's see what happens. What worse can happen?
Yeah, first, row username. So you remove the username I need to set with the wallet, right?
Yes, yes, yes. Wallet, everything is wallet.
Also, see how the object is being taken. Let me help you with that
join public domain. So it has to be like this. Like I'm just showing you. It has to be username
colon address. Username is the name and then address. By default, do you have taken the address right on top of the no no no the the name of the field
is username and you pass address for that okay no no okay i got it got it you just can't just
remove username and then just put address instead you just have to put username colon address pass
address for the field user username yeah Yeah. Put username. Username. Yeah. Yeah.
Let me check it every time.
Now address.
Add address.
Assign it to address.
Assign it to address now.
Do the same for that.
The other one.
Perfect. Yeah, perfect.
No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, Okay, few more errors down there.
Okay, sorry, but then there is no address there is no need to say that.
I just removed the input field.
Yeah. Declared game will add.
Okay, declare winners.
Okay, the function is not defined.
So I think the merge didn't happen properly.
I think the merge didn't happen properly.
You have to do it from again, I guess.
Go to merge editor.
Yeah, go to merge editor. You open the merge editor which you are working with I have accepted the changes
from that so I think that the functions are not taken down okay let me just take it from We have to merge this again.
Fix the conflicts again.
I think only two functions are missing.
Declare game with her.
And do you want me to do it from github UI itself?
Conflicts? Should I fix it? Do you want me to do it from github UI itself conflicts?
Should I fix it?
If you can do, able to do with the github,
I think with the code one, right?
Should I do it?
Let me know if it works or not.
So go to github code, get a bit.
Let's simplify things.
I think that's simply by the score.
You want to do it here?
Yeah, just let's do it here.
OK. Yeah, I think I've created a site. You can also hop in if you want. But if I add your function, it will not create, I will not ask for any other things, right?
No, but the private key needs to be added, I guess.
That's a problem.
So you know what, let's do one thing.
What you will do, I'll merge this code, you take a pool and I think for you it will work,
No, no, no, wait, let me do the merge part myself maybe let's try it out.
Let me just see, give me one second.
Your branch name, what's the branch name?
New user, new-user.
Okay, I'm on the new branch right now.
I will do git merge.
Okay, I have a merge conflict again.
Ah. For that we need to accept both ones.
Are you able to see my screen?
Yes, we can be able to see.
For this we have to
I think your one is
this one, right?
Join the room join public room.
Yes, this is my goal is correct, right?
No, but yes incoming my code is correct here here my code is correct right yeah
okay here uh i think my uh should i have my code yes my code is correct yes here we have to do
here we have to do I don't know it's pretty different here if you see we have
socket.emit but create we don't have that oh yeah I think you created a joint
public room function and I was just using the old code that was previously
pushed okay let's keep this way and see what happens. Okay. So you want both
things right for you? I think it's a card with the UID. So what about this?
What is this? Remove the username part I think from my, except you're in this. You don't want this thing, right?
No, no, no.
You're creating a new room here.
So what is this create room function? Where is it coming from?
You don't have it?
No, basically create room was basically creating a UUID with the invite link. So basically giving a UUID.
So let me keep the old ones in 10, I guess.
We're almost done here.
Complete merge.
Where is the conflict room?
Fixed conflict at there.
Everything is fixed already.
I think it's again asking to be able to merge the things.
No, no, no. oh we should know I don't know okay complete much I know what's the problem here go one by one. I think it was not when you accepted both things.
Let me do it.
This one you want both right?
You want both right?
Okay done.
We have this done. Okay for this for this we have we
only need this one yeah okay then we just need our city yeah and then for this, we need to accept incoming. Yeah. So we just renamed the function name here, I think.
See it now.
So here you have just created this.
Do you want this?
I think you want this, right?
So what do you want to do?
You want to do a combination?
Or just add it to your line, I think.
Incoming, incoming. or just add it to your line I think yeah incoming incoming yeah so here we need combination
and then next here you said you don't want this right your vote yeah I think it's just a text for
entering the input name so we don't want that yes perfect here it again. You don't need this button. Yeah, it's okay. I don't know.
How do you, how do you accept here? Like both of this shows like this. How do you do it?
Yeah, I, for this exception coming, why it is coming again and again. I don't know. This, So this is accepting it coming.
Why it is coming again and again?
I don't know.
This is showing again and again.
I don't know how do we solve it.
Just accept it once again.
I think this is the last time.
There is no way to accept for me.
No, I can't be in conflict.
Yeah, close with conflicts.
I think we
have a bunch of problems here.
Basically, it too. No, I think this will this will this won't
be good, I guess. No, no, no, this is not gonna work out.
no no no this is not gonna work out uh let me actually stage it let me actually do it again
good stress You have not concluded merge head increase.
How do you know how to delete this?
Just delete the dot git in which you have the branch of basically code of merging in
the hidden folder inside the
git you have to remove it.
I don't know how to do that.
How do you do that?
But inside that hidden file so.
Right here?
Can you able to see the dot git folder?
Where is it? No, it's not here. Yeah, can we able to see the .git folder?
No, it's not here.
It's hidden file, right? You have to enable it from inside.
Do you know the command to just...
How to ignore the previous mods.
But I just did, I just, I mean, just reversed everything.
I don't know what's happening here.
Or I can do the latest changes to your code also.
Yeah, yeah.
Can you try that?
Yeah, that will be. so I'm going to go ahead and do a little bit. Продолжение следует... so
so So, let's go. Продолжение следует... so So, let's go. soおやすみなさい Продолжение следует... so Nisar, are you on the changes?
Yeah, so what I'm doing, I'm currently doing, I have done the server changes, I'm doing
the UI changes.
Just a sec.
Okay, cool.
I think we're reaching the end of this session, it's too long, it's almost past midnight.
Yashiga, any update for us
1846 people how many people 1847 are watching you
so everything is done from the the actual game is working. You are able to pull in money and the winner gets the money.
So the only thing that's pending is like integration of Nishak's code changes.
And rest we'll do the cosmetic UI part in the next stream and I know they're going past the actual deadline Вот. E aí Okay. Okay, I'm gonna test it out.
But do you have the priority for that?
Like for you to test out the unit there, right?
So only that part won't work.
That's fine, right?
Just a sec. Preview, basically I removed the key and the preview key has been gone.
Okay, I can give you the key.
I think it's not confidential.
I can send you on WhatsApp.
Yeah, I got the key.
Can you stop my screen, Yasike?
Can you stop my screen. Yes. You can stop my screen.
I didn't move it.
I'm going to send you like, okay.
I sent you the WhatsApp.
Yeah, I was able to do it.
So let's test it out for the final time.
You want to share your screen?
I think the private is muted, but I signed it from one of the account.
Can you just show that thing working, declaring the winner is not a matter, I guess.
I didn't, we just want to confirm that new user cannot be able to join it.
For that you have to deposit money.
Which means that you lose three dollars.
One, two, three.
Can you, can you use a different room ID because sometimes cancel, cancel it. Cancel, try different room ID, like eight, seven, eight, two, three. Can you use different room ID because sometimes
cancel, cancel it. Cancel, try different room ID like eight, seven, eight,
something like that. Seven, eight, seven something. Yeah. Confirm. I think we don't have to wait that transaction actually
could be confirmed on chain.
Instead, we can just repeat it.
Once the user confirms, it's OK.
It's good for us.
We can join the room.
We can join the room now. It's done. So I was basically previously UUID and you were I think using the cookies or storage local storage
no no we are not using now
where is the
it's not working now
no so basically it is not able to create a private room
we can just get it next time next thing no problem
yes yeah so yashica closing notes
I can't if you guys can give an update.
So in this live stream, we tried to actually
compete the draw with friends app, which is basically
the on-chain version of Scribble with payments.
So we were stuck on a bug from the last stream.
So we called on a helpline, can call call a friend helpline we call
nishad so which he actually fixed it i don't know if he used wild coding or he used his real coding
skills to fix it and then he fixed it then we we did not actually merge that branch i ended up using
you know ai to actually add more functionality with like on-chain payments when he came back to rebase the branch he was using he was facing some issues um but then uh it was not merged properly uh right now what we have
is an app that works very well where any user can join and they will be asked to deposit 0.005
teeth on base to join the game and then the winner gets all the money in that particular room
that's working perfectly fine in the next live stream will be i think we'll probably bring
nishag also to see the progress and you know we'll hype it up with them and we'll we'll
we'll beautify the you know frame a little bit so it feels it feels like really cool to play the game
and then we launch it on the live stream the next one so it's going to be fun you
know people can make money some people will make money some people show show will let's showcase
the drawing skills that we have um vibe drawing we'll do vibe drawing next time more than my coding
um so yeah that's it for this live stream and And with me, you have Ishika and Nishark.
And see you on the next one.
Bye-bye, guys.
Bye-bye. BASE CAFE