Miniapps in Scaffold-ETH - BuidlGuidl's Builder Bootcamp

BuidlGuidl's Builder Bootcamp at Devconnect Argentina 2025 · 20 Nov 2025 · 29:32

Nikolai Lebedovsky leads a hands-on workshop on building and deploying Farcaster miniapps with Scaffold-ETH, as part of BuidlGuidl's Builder Bootcamp. He demonstrates the miniapp extension, the Ponder indexer for real-time data, local setup and deployment to Base, then answers questions on user growth and underused features in the Scaffold-ETH interface.

Speakers

Topics

From BuidlGuidl's Builder Bootcamp at Devconnect Argentina 2025, hosted by BuidlGuidl.

Transcript

[Music] Hello everybody. Can you hear me?  Okay. Um, thank you for equipping me. This process reminded me of uh getting prepared  for a dive when your mate checks your equipment before you go into the water. So let's  dive into it. We are coming now to the I think to the to the most exciting part  of this like you heard about the scaffold, you heard about the mini apps and I'm going to  show you how what is the fastest way to build and deploy a mini app using scaffold diff and the  extension I've developed the miniapp extension.

And uh yeah, before we start, raise your hand  if you have deployed the mini app already. Okay, good. Raise your hand if you deploy the smart  contract. That's better. And raise your hand if you want to deploy a mini app. I want to  deploy one, too. Great. Okay, let's do it. Uh if you've been here yesterday,  uh there was a great talk by Oops, just a second. Let me figure this  out. Okay, got it. Great talk by uh Jeffrey Schultz from Rare Skills and he  said you have to memorize the main things

to be an effective developer. And the one  thing I want you to memorize today is this comment, how to launch a new uh mini app uh  deployment. So let's try to do it. Hopefully uh we have good enough net to do it. So that's just a standard uh scaffolded  deployment with the mini app.

Okay, that's how I go back to this. And while  it deploys, I I want to tell you a little bit about myself. I started building uh frames  on Farcaster a bit more than a year ago, maybe a year and a half in March last year.  And some of them became quite quite popular. As you can see, my mini apps or my frames were  used 13 million times by 87,000 unique users. Um and that's what Farcaster provides you  like a direct access to the audience. And if something what you build is resonate with  the people you can get results like this.

But uh about a year ago I realized that my biggest  constraint is that I know nothing about smart contracts. I never developed a in solidity and uh  yeah I have to sync this one. Yeah. So a year ago, I walked into the uh beetlegiddle uh belegidd  what is it called boot camp at the def uh defcon in Bangkok and uh it was amazing like it was so  easy to to learn the things with the scaffold with speedrun Ethereum. So I want to thank like uh all  the beg team and especially Austin for building all these tools, all this stuff which helps  a lot in in learning how to code in solidity

and here I am one year later standing  in front of you on the stage trying to tell you how to develop mini apps.  Okay. Uh, I don't know. Have you have you tried to install the the mini app  on your computers with the comment? Okay. So, if you if you want to follow  what I'm going to do here on the stage, please try to do it. Here is the comment. Yeah, this one. It will be easier. And  in about like 20 minutes probably you will have your first mini app  deployed if you never done so.

Okay. Can go. Okay. So, what is what is inside? It's  uh yeah, thanks to Chris for coming up with this title for this slide. Yeah, we  were doing a test run in the morning and uh so basically it uh gives you a full access to  scaffold what you I hope already familiar with it uh helps you it creates the forecaster manifest  for you that's what horsefax was showing here before it also gener it also generates all  the required metatex for for the mini app it

uh gives you like a very basic uh open graph image  generator So you can like uh develop it further. And what is very important it also adds a ponder  indexer to it to the whole setup because what I realized like my first mini app with the smart  contract I I was trying just to use the calls to the smart contract to read from it but when you  build like interactive uh app what works with many users it's it's really problematic to to fetch all  the data from the contract directly all the time. Then I started to use the graph and uh well  it's easy to set up. It's easy to connect to the mini app but sometimes you get like huge  delays from the graph like sometimes you get

it like right away but sometimes it can be like  15 minutes delay. So if you are doing something what you want to display to the user right away  it will not work. And then I discovered ponder and and ponder is a great tool. Uh anybody  familiar with ponder? Yeah of Okay, good. So, it it it runs on your local machine or on on  your server or where you deploy it. It's totally your deployment and it provides results right  away. So, it's like a fractions of the second from the right to the contract till you get it  into your SQL and it's accessible by SQL. Um, okay. So hopefully it's installed on your  machine already too. Can you read the text?

Make it bigger like this. Is it good? Okay. So um  the basic install is uh same as with the scaffold. You will need a little bit more screens because  we have additional stuff like ponder. So on the first screen we will do yarn chain that  will deploy our local hardhead chain. Then on the second one we will do yarn deploy.

And basically the extension reuses the same  smart contract which is available in the scaffold ETH by default. Very simple contract  with one uh write comment to set a greeting. On the third screen we're going to do yarn start. That will start u the nextjs server. Now we will need the fourth screen  where we do yarn ponder defaf and that will start the ponder server.

Now we need a fifth screen where we will make uh  the ponder available externally that we will need I mean we will uh we can still develop and test  things locally without using enro and making it available externally. This thing we will need  to make it uh visible from the forecaster. And one more angro to make the  um the mini map itself available. Okay. So now if we go to the Okay, probably  I will need to move this screen here. Yeah.

So that's like the basic screen of the  mini app. It just set has um very simple interface to set a greeting. We will grab some  fonts from the faucet and uh do hello world. As as you can see, ponder already indexed this uh call to the contract and uh rendered it  into the client. Uh so next thing we want to do is to make it available make it visible  on the forecaster itself as the mini app.

And to do that, we will have to  go to the uh Farcaster developer tools. So you go to the make it bigger  like this. Farcaster developers. If you don't see it on your Farcaster  screen, you go to settings. Oops. Okay, we are back. You go to settings here.  Click on developer tools and turn them on. So if you turn them off, this thing from the menu  disappears. You turn them on again, it comes back.

So you go here and you can go to embed tool and here we will enter the URL of the of  the mini app which is that will be the uh the URL you deployed to Grog. Is it me touching something or Okay. Okay.  And as you can see now the embed is not valid because we still need to do one thing. Oh, is  it? So we're getting the uh the values but we

are not getting the images because the URL  is still set to local host. So at this stage I'll just reuse this window  to launch the the editor. And uh okay, make it big like this. We don't  need this right now. We go to packages next.js.

GS and we have an example here. We save  it as um why don't I see the menu here. So it should be command shift s I believe.  No. Okay. Cancel. We save it as end local for our local development. [Music] And what  we do here, we add the uh domain of the of the uh minab and also the domain of the ponder.

[Music] So basically once you do these  settings and you go back to the u uh embed tool in forecaster refetatch it okay and as you can see we already have the uh image which already rendered with  the with the greeting we set [Music] and all the other settings.

[Music] And if we click here on this button,  we should see the preview of the mini app. with everything rendered except it will not  have access to the uh to the chain because it's the local chain I'm running on my my  machine right now. So and if we uh deploy it with the base or or any other chain it will be  accessible as inside the mini app and this is now uh can be used by anybody on the forecaster and u  so it has like mini app demo page in the menu and this one will load all the content context  information what horsefax was talking out.

It takes a while to to build this pages  because they're not pre-built here, but like if you Yeah. So, it has all the context, all the user information. Let's make it a bit  bigger. So, you see it says FID, username, launch context. if it was launched from within  a post, it will show you where it was like the the ID of the post it was launched from. And also  if uh uh all the associated information with the post. So for example, if you want to display  some statistical information about the user uh who is the author of the post, you can  fetch this information right away when the uh mini app is launched. It would also show  you what the uh client is. In this case,

it's warpcast. If it was opened from the  base app, it will be a different FID and you can use it also. So for example, I'm  using it in one of the mini apps where uh I have the share button. So if the user opened  this mini app from the Farcaster, I would say share on forecaster. But if he opened it from  the base, the button would say share on base. And here I also added some uh demo to  test what is available the functions what are available from the farcaster.  In this case already the haptics are not available because it's running on the  on the desktop. But on the mobile like if I open it from my phone you will  be able to test the haptic buttons.

Okay, let's start uh let's try to  deploy the smart contract on base uh and see if that works and we can use the  mini app inside the forecaster fully. Oops. Okay. In order to do that, we need to do two  things. We have to find scaffold config file. Change the chain to base and hard head config.

and change this to base two. So now if you do yarn deploy it will say I have no account.  So we do yarn account generate [Music] set some very secure password. Oops. Okay. I will need to send  some funds to this address.

Please [Music] [Music] Okay. So, we should be good now. [Music]

Oops. Okay. [Music] Let's do yarn verify. We still have five minutes. Okay. Um after that one thing we need to do we  have to go to the ponder setup in the uh mini app.

and add uh RPC endpoint for  the base for the base chain. And if we did everything  correctly, we should be able to Okay. Where is the ponder?

Okay. What did I did wrong? on the target networks. You're missing a bracket at the end of scaffold config. You  need scaffold config. Thank you. Okay, got it.

Okay, you see? And once you fix it, thank  you very much. Everything starts to work. So, now as you can see, so it loaded up and  it's already loads the wallet from the Farcaster. So that's the uh the the Farcaster  wallet. And uh if we go back to the main page, [Music] hello world.

And yeah, so ponder index it. It's  on a real chain and that's already a working mini app. So we can see  it uh shows up. Uh if if you want to share it like if you want to  make it available for everybody. [Music] We just go to far caster and cast it because it runs from the local machine. It's  a bit slower but yeah here. So the image is

rendered and if I cast it, everybody on the far  custer can interact with it. Hopefully for some people it will work with this slow connection. So  guys here it is within 30 minutes we deployed a fully working mini app. Uh like the next  step is to deploy the uh the nextjs and the ponder to the server not to run it from  the local machine. It will be run reliably. [Music] Okay. And it's rendered in my fit.

So I think that's it what I have. If you uh want  to register on Farcaster, you can use the QR code on the left. If you want to follow me, you can use  this one on the right. Thank you very much. Any questions? In your opinion, you've had a few mini  apps that have achieved a little bit of uh virality and you've gotten some users. What  do you think the secret is to to get users? To

get users, that's a good one. Do something what  they need. Like my most successful mini apps uh and frames actually came as ideas from the  users themselves. They said, "Oh, you know what? We need something what would show us this and  this and this in a very easy to consume form, easy to understand form." I was like,  "Who would need that?" And that frame had like 6 million users. So that's uh that  was the idea like you you and like the reason why I built this stuff it makes you deploy a  new mini app like super easy like as you can see like in 30 minutes you do some changes to  the smart contract you change a little bit the uh the uh the front end and it flies like and  you can uh test very quick if it resonates

with the users or not. So like answer your  question you fail fast build a lot. Yeah, one really great presentation, Nick. One of the  things that happens with many apps is that there's uh like very simple uh demo apps, but then your  scaffolding provides functionality above and beyond those demo apps. uh what is some of the  functionality that you think is uh underutilized but that exists in your scaffolding right now?  So what is the what what is some functionality that's in your scaffolded app that you think  is underutilized or more mini app developers could use in the scaffold mini app? Yeah, in your  scaffold. Yeah, I think like there is a great job

was done to develop the UI components.  So for example, if you if you look at Oops. Yeah. Where is it? No,  not this one. Sorry guys. Just want to show you this uh component here.  Yeah. So, this one is in the feed. If I click on it, it should open up here. Yeah. Oh,  somebody already said it. You see? Hello, amazing builder. Okay, cool. So for example  this component here is uh provided by scaffold UI and uh yeah you can easily use it to to set a  value to the transaction or something like that.

Also scaffold this has has very welldeveloped  functions to write to the contract and read to the contract makes your life really really easy.  So these are the things what you get right away you don't need to worry about them. So basically  like if you use it, you can only concentrate on your stuff. Yeah. With all of this taken care of.  Yeah. Thanks so much. Okay. Thank you very much. [Music]