The Hub ep8 Tuesday December 17, 2024 with @dylsteck.eth

Aired Date

December 17, 2024

Hosts

Series

The Hub

Episode

The Hub ep8

Watch on YouTube

https://youtu.be/kwg9I3rkguI
0:35Speaker 0

g m g m welcome everyone to the eighth episode of the hub a developer focused forecaster podcast i'm your host here dillstek dot eth i'm here for a solo week but nonetheless a week of a lot of really cool forecaster updates first of all apologies for the technical difficulties with our stream from last week we had an amazing stream with sweetman but something happened with the audio on streamyard you know something about hit hidden episodes but we'll see if we can get sweetman back another time because that was a really good episode and excited to be here today to just go over some of the top updates maybe next week we'll do a little bit of a larger guest show going into holidays wrapping up the year but just wanted to spend some time going over the top developer stuff and there's also some stuff i've been working on that especially since it is a solo podcast here today that i wanted to go over awesome so let's start with some of the main updates that are going to be v two frame focused one of the main ones is if you haven't already seen a v two frames work on web for warpcast one example just because i put it up recently is for for cortex when i'm when i'm building you know you see the image here you can click message cortex and it opens the v two frame i log in with my wallet here that is the off that is like propped up from warpcast so if you had already logged in to warpcast with your wallet whether on you know mobile or web that wouldn't already pop up but as you can see here it is an entire you know web view to be able to do something which i think is really cool so i'm excited about that and if you're a developer you should definitely check out the developer's frames page here of the frame developer tools so this is on mobile but now we have it on web as well really easy for testing them out and it even saves my added frames so these are frame that i added on mobile i can just go and click into one of them like cast or scan and and see it right here which i think is very neat and easy for kinda like testing your frames and some of the things i'm gonna be showing you today i think just push even further down the the rabbit hole or emphasis of v two frames being very easy to add and very beneficial for you as an app developer so one of the things we have here is from moe from butterfly who's been building a lot of cool stuff a lot of cool v two frames as well he made a server side rendered v two frame we'll show the frame actually he made the spacex launch tracker which i think is is very neat let's let's check it out so you can see upcoming launches past launches it seems like there's this little graph here of the number of launches by rocket if i'm not mistaken you know past coming but yeah i think i think this is quite nice and he said oh it makes sense it's server rendered so yeah he said that it's server rendered and because of that because of that right here because of that he can't use the frame sdk on the client side so he set up the javascript script and that will just fully be bundled on the client and anyone can call it from their server rendered page so if you are writing a fully server rendered app you should check this out you've been on on val town which is a fun little like serverless platform as well

3:59Speaker 0

another one is horsefax actually forked the uniswap repo and made the entire thing a frame which i think is very cool uniframe.org we can check out that frame as well you pop it up i'm already logged in with my wallet you see the network changed to ethereum and then we can go swap or do whatever else in uniswap right here which i think is very cool and look all these other ones like any of the pages daiusdc mfers you'll click view and it will open up the uniswap page directly for that asset one thing we can even see the source code and see the main things that horseback's changed here especially on a big like interface from uniswap is a big monorepo across web and mobile and even on both platforms they have very intricate setups so i think the main one here is this use frame sdk so when you are wanting to connect a wallet with frames now you which will i'll show you in a second there is this new farcaster frame wagami connector before they recommended you just copy paste the code into your repo but now they actually made it a connector so just like this snippet all you do in your logme config you can even keep the rest of your connectors like here you know uniswap has all these other connectors injected with fallback walletconnect coinbase wallet etcetera but you can also add farcaster frame and when it's available it will prioritize that one which i think is quite neat easy to use here and then how it's being used is there's a farcaster frame provider funny enough it'll be good i i use the provider in in my app as well inside of the provider if there is context then we wanna auto connect running this connect function from logme actions it uses our log me config and it is defaulting to the farcaster frame connector which is what we want in this example so very clean code good way to add it into a big app like again this is a this is a very big app so very cool to be able to add it in great great example and many different reasons why you should be making a a v two frame sorry one second just getting a call

6:19Speaker 0

alright let's go

6:23Speaker 0

so it's all this and i wanted to cover it as well horsebacks and dan said oh maybe someone will be making like a micro framework for frames i was thinking no maybe i should do it with or caster kit similarly i am thinking should i do something with that

6:39Speaker 0

and i guess the ui kit is a little bit different maybe someone will do something on top of tailwind and chad cn but what i did wanna point out is that the team from frames js seems to have been making a very cool pr on frames js because at first i wasn't sure if they were doing it i guess i just hadn't like looked into it as much let's find this but this pr here

7:07Speaker 0

looks great and it's not it's not ready yet shout out michael i guess he's on the on the frames js team but look look at all this it's very very hefty react native webview support frames json actions a v two parser being able to actually render v two frames in your own app yeah some really cool stuff here i mean if you haven't already looked at frames js they did have a very very in-depth library for manning all this stuff and for rendering v one frame on mobile and web so i really trust them with this and i think with the ui stuff i already know they have they can just add some adapter for tailwind or shad cn like i don't think that thing horseback sedan we're talking about i don't really think we need that i guess someone can make a super super opinionated but i'm just i don't i don't fully know where that would fit in i think if anything what's more helpful is is there any sort of ai tool or builder or anything like that that augments people making a a v two frame but wanted to highlight this because i'm really excited to see this work i do hope that it goes through and i would certainly certainly use it another thing i saw from my friend greg on the third web team was his frame starter template he said it's a single line of code to connect to third web which is quite cool we can even go through and check out that code you know setting up v two frames are quite simple it seems like here it's even more even more simple even you know more dead simple so let's see let's go to our layout that's probably where this is happening with the third web provider okay so i guess this is happening in the page or on the app

8:47Speaker 0

page or is this happening in the app okay okay so

8:57Speaker 0

if the sdk is loaded then we set the context and if there's a wallet we run connect wallet which calls wallet.connect clients thirdweb that seems very straightforward as well thirdweb has so much cool stuff so you should definitely check this out it seems like there's it's pretty pretty simple to work with

9:21Speaker 0

another thing here from spencer parkin that i was looking at this as well which is cool identitykit makes it easy to integrate web three point zero profile pictures and usernames into your app with just a few lines of code it supports an ens nns nouns name service forecaster base names and union names and we can check it out here i think this looks cool i'm curious to see who's going to like what kind of use cases we'll have for people but very simple to set it up you have an address you pass it in and then you have some extra you can pass in do you want farcaster info like for example here on the docs you have vitalik jacob and you can set all these different revolvers it's cool and i've put around with the api as well it seems like it's pretty fast i do wonder if they're only returning one thing then they they i'm sure they have some sort of validation that people do want that one thing that they're returning because it is pretty fast so it's cool

10:18Speaker 0

one more thing this was very interesting from v today saying we've been working on improving our spam detection big source of alpha has been taking algos used to bring content on the web and modifying them to work in the farcaster space which we've seen over the past year or so with warpcast akshan and nada wizard collaborated to add a page rank hyperlink including topic search and a louvain clustering let's just read the whole thing i know it's very cool quick primer on how spam is handled in warped cast accounts are categorized roughly as definitely not spammy probably not spammy unknown maybe a little spammy and definitely spammy roughly 5% of the network is manually labeled by the team and that's used to train the ml model nice model looks at a lot of signals and gives the user a score interesting for example if you like things twenty four hours a day you're likely not a human multiple bad signals like this move accounts closer to the definitely spammy label so you know everything is a world of signals that you know the model has gotten quite good and rarely misses in the cases where it does we manually override it and retrain it on the misses periodically also it tries to reevaluate periodically so we can update the user as they have more of an opinion so back to the signals pagerank is the famous google algorithm used to rank web pages based on how many other pages link to them we used a modified version which looks at how many non spammy users follow you to determine your score that's applied recursively to people you follow a surprising behavior is how many obviously spammy accounts end up being followed by some good accounts people make mistakes and rarely fix them so the algorithm has to be adaptive enough to account for that interesting overriding human behaviour louvain oh sorry louvain clustering is another graph based approach built around the idea that spammy accounts are much more likely to follow each other in rings a greedy scoring system is used to identify parts of the network that have tight follow loops and combined with the average score of users in the group can determine whether an account is more or less likely to be spammy okay i'll have to read more into that hits is another pagerank like iterative algo where every user is given two scores an authority score which is the sum of the hub scores of the users who follow them and a hub score which is the sum of the authority scores i feel like that was a very you're defining it using the other word but i'll have to read into that too this is good for boosting the scores of certain non spammy users that would not rank favorably in pagerank because they don't have a lot of follows and okay alright so it seems like that is actually the end of the thread this is cool i think the main thing to take away with is like a page rank is the main one here and using signals so if you don't really know what a signal is it is any sort of event that is happening and then because of that event you are triggering something in your database so these can be positive or negative for example viewing some thing liking someone's information these are all different types of signals that can have different connotations so like for example here the liking things twenty four hours a day the act of liking is a signal and so there's probably some sort of pipeline that's processing the like and is checking well if this is happening multiple times a day then that signal is is is doing something to affect where the user ends up as a label so very cool stuff and then i know it's a bit of a short list today excuse me we'll we'll get a longer one next week is what's the best open source audited vanilla erc seven twenty one contract from dan i wonder what they are cooking at because i don't think he would just float this out there and then not do something with it i do know that

14:08Speaker 0

he had rewards like usdc rewards on warpcast i wonder if that has anything to do with it we'll see another thing which is great which i just you know saw here i'll add it to the list so i remember for next time is user authentication in frames so for many of you who have built v one frames know your frame message was signed with the user's app key and you were given data back which showed you that signature and you can use that as kinda like a guaranteed auth mechanism right now in v one frames the guaranteed auth mechanism is the wallet but their signing with farcaster doesn't work it's not built in and even if you prop up signing with farcaster in your v your v two frame it's not going to go through the entire flow there's just none of it you get past this user context but technically it's spoofable and it doesn't contain any actual auth information no signer none of that i've been waiting on something like this for a little bit and i'm glad that warpcast put it together so let's let's go through this and see what's going on in the comments from tony shout out to tony he says in the original frames design a frame message was signed over by a user's app key this was a lightweight way to give frames a reasonable expectation of who they were interacting with while providing a great ux for the user since the user didn't need to take any additional actions the downsides to this approach is that app keys weren't intended to be authorization tokens now they're like signers yeah it wasn't supposed to be off it was supposed to be a a way for you to access the right permissions for that user you know they're they're warned they can post on their behalf but it's not supposed to be general auth that's the main exactly nothing indicates it will be used in general purpose or means of auth you want an actual auth flow not jwt whatever for that you know auth keys are usually custodial they're controlled by the client instead of the user and apps need to maintain separate flows versus frame interactions so that they can be compatible in frame v two sign in with farcaster there should be the primary this should be the primary mechanism to authenticate users we can add an action api request sign in with farcaster with a nonce that goes through the flow within the frame and returns a token if completed since the token is controlled by the hosting client we can avoid some of the security and routing issues that we have in the standard flow vision tax become less likely since the host knows the domain with of the user interacting with it and the flow will be interacted in the client instead of the relay server we can make optimizations as long as that works well across clients that's fine here we go the biggest drawback to this approach will be user experience won't always be seamless for example a warpcast web user or supercast super user who has their custody address posted by warpcast mobile will will need to go to their mobile device to complete the request general limitation of signing with farcaster that should be independently addressed but is outside of the scope of this current proposal i agree but we should still address it regardless and i wanna see some of these context comments is the current auth out of the question

17:23Speaker 0

i think this i think what they propose is kinda better honestly

17:28Speaker 0

can't we support both likely won't benefit but the cost is a complex auth model yeah exactly

17:40Speaker 0

how does it relate to farcaster connect the frame is model our request is handled directly by hosting the farcaster client you know super implements frame as v two and receives a sign in request super has access to the custody they hang up the signature

18:00Speaker 0

okay this is kinda how it was before i think any of those comments should just be addressed outside of the scope like just for for a sign of a forecast or the rest of this makes sense to me

18:12Speaker 0

cool let's scroll through real quick and see if i missed anything on the feed and if not i have some personal dev stuff i can go over and then we'll bring it into next week

18:25Speaker 0

oh you know what there is one thing i wanted to cover not in like a critical way i just wanna be like objective that's kinda my my goal here so maybe you guys saw the zuora stuff from yesterday the zuora retro grant so zuora got three they got either this amount or more whatever they got a an op grant and then they decided to do this community retro grant which is you know it's definitely very nice they no one said they had to do that claiming is open until march 16 but then my entire my entire timeline on x and farcaster was flooded with people saying i didn't get the airdrop i didn't get the airdrop and even the people who i know are like the most prolific builders and creators or collectors on zuora even someone like chris corella who i saw on some dashboard is in like the top 10 most earned creators on zuora and it's not like it's not just about that but like i had heard some outrage from people before about how they handle devrel or supporting devs and it seems like this pushed it even more i will say i think gloria's done a lot of good stuff and it seems like from this post from jacob they're trying to look into this and so i don't wanna be bashing and i'll give them the benefit of the doubt i just report on it to say that's the rhetoric i've heard and i've this isn't the first time that i've heard it none of this is easy but but yeah from a a lot of different people and and also i do like taking the l learnings here that's a nice line so definitely wanna give them the benefit of the doubt i like the protocol i've liked using it but i'm gonna keep my eye on on how that progresses let's go check again and see if we missed anything

20:18Speaker 0

and i do really hope that we see even more v two frames all this stuff takes time but it seems like people are still more focused on ai agents and not as much the v two frames

20:31Speaker 0

which is funny because people thought oh well frames are just like a static link but a there's almost like some stuff you can do in a v one frame you can't do in a v two frame like if i wanna rsvp do i wanna have the whole web app open i kinda just wanna hit yes there maybe there's an in between

20:50Speaker 0

and i don't know yeah with any of it it takes time like like people said oh we need an entire web page and now people aren't really building as much on it i i also wonder like are there other surface areas like is the only place you wanna see this in the feed i know we have the home page but yeah i don't know i don't really have a great answer there i hope we see more this stuff takes time though there's a good thread of some of them that are available the ball frame from vmather that's good onsen launch tokens 2048 you know a chatbot from moe a clinker assets a wow all pages are v two frames personal site yeah

21:28Speaker 0

cool well i'll show two things i'll show all the v two frames i've made and the code for them and on top of that i'll also show what i've been working on with cortex hopefully for the v two frames i can show you like how simple i think it is to set these up so

21:49Speaker 0

cool here are them so my personal website don'tstick.com there's no login or anything it's just static site of my blog posts quickly go through how this works so just like any v two frame at dot well known i host a farcaster.json file the domain account association you can only do this on mobile right now wordcast mobile i'm generating it but you just put in the name of your domain and it literally gives you this you copy paste it in it can give you the entire thing as well i just already had this and this is very simple this is just a frame manifest and then in the layout here i have my generated metadata which is doing what it normally does and in the other for the farcaster frame tag f c colon frame json dot stringify create frame the reason i have it as create frame is because i wanna change it so that when i have i can update it so that individual blog posts here have their own pages i just haven't done that yet so i'm you know passing it in passing it in like this where i have a default title default image url and i can pass in the rest and i just got this json and then for the entire site i have this frame provider it can add the it can add the frame here if the user doesn't already have the frame added and then it will load the frame if it hasn't already loaded this is kinda just boiler plate for a v two frame but very simple to set up i'll save cortex for last because i wanna spend some time on it the purple auction this is one of my favorite ones so far also because it actually uses your wallet so you can view the auction on purpledao i don't know why the site color looks like this right now but you can go back and see all the different auctions you can click we can settle this auction why don't we settle this auction what the heck

23:43Speaker 0

and then let's let's reload the page and the auction should be settled we'll be on 07/2008 yeah there we go nice i don't know if it's gonna say that i settled it or not but yeah so pretty simple you know you can settle the auction you can you can bid on it etcetera some of the cool things though you can go and see an about about the dao you can see a a trending feed of all the top cast from the dao using an anr react sdk

24:11Speaker 0

you can see all the proposals you can go make your own proposal and you can just go see the dao announce builder which i don't think it links out in the v two frame but yeah i really like this one i think it's like really effective and and it was also very easy to add it was all the similar stuff and all you're doing is adding that connector i can show you here

24:30Speaker 0

sorry wrong commit

24:36Speaker 0

so yeah like you just take this connector right we're installing it from frame logme connector and we're just adding it here in connectors it's very very simple for kismet casa i won't show the code because it's even it's kinda like the dylansnec.com one but you just go and see the homepage for kizzmekasa really great dao shout out luciano and leah and then cortex oh oh sorry last one before we get to cortex

25:03Speaker 0

last one before we get there is i run casterscan last night i made casterscan a v2 frame as well so you can go in and see a live feed of all the trending or all not even trending all the top cast just like you know most recent fire hose on the network go through back and forth we can click and see the details on a particular cast we can see what the response looks like from the neymar api from warp cast from hubs all that sort of stuff we can view it on super cast view it on recaster and i made every individual cast page a frame so this is some cast we can click inspect cast it'll take us right directly to the page for that frame that one's cool and then the last one cortex this is what i've been spending some time on you know we can see it here as a v two frame but i'm just gonna load the site so that you can see the entire thing so with cortex i'm building almost like a perplexity or grok style ai for farcaster i'll show off some of the main functionalities then i can show you what i've been working on recently so one show me upcoming events we have this little loader here it's getting top events from events xyz now it's summarizing them

26:19Speaker 0

let's do a new one this one's cool

26:25Speaker 0

i think it's in our examples actually how do i build a bot with nanar and it's actually giving us an example snippet of the code needed to go and create a bot which i think is really cool i wanna explore this docs one more so that you know like i was talking about with v two frames what if you can just type in how do i build a v two frame that doesn't really work right now but that is something i would really like to add in another one i like you know show me recent cast from dwr.eth

27:00Speaker 0

showing us this little list of cas here we can go click it out i don't know why it's retrieving twice but then underneath it should be summarizing them one of the most recent things i added as well is support for multiple models so right now we've been using groc from xai from elon we also support for gpt four zero and four zero mini the default is four o mini and i recommend sticking that like it's the cheapest it has really good prompt caching there's really smooth streaming chrome is pretty good too but it's i don't know like something like it's like telling you oh i'm calling this tool when it should just call the tool and then also if you want we have support for ollama if you haven't used ollama before ollama is a tool for running open local open source a model locally on your computer per the name it's best with llama if you're gonna do this i highly recommend using a model like llama 3.3 or something that's like a 70 token or parameter model running a smaller like a three or an 8,000,000,000 model i really wouldn't recommend i tried with a 8,000,000,000 and it wasn't great not only was it slow but it just wasn't returning the it not great so if you're really gonna run it locally you should do one of the big boy models and you should hopefully have space to actually run it on your computer if not don't worry about it just stick with four o mini it's really cheap you know try out grok for fun but i recommend just like sticking with four o mini and i wanna keep building this out so you know if you have any thoughts let me know i think this can be really useful and i wanna see as well like how does this fit well into a client so definitely check it out and if you for some reason you know wanna add your own integration or or just check out the code it is also open source it's a v two frame where you log in with your wallet all of the tools like how it's actually calling those different apis happens here in this big tools dot ts file so you can just go check it out like quickly just for the heck of it you're naming a tool right you're giving it a description what do you want it to do you know optional parameters these parameters will be made up by the llm based on what it thinks it needs and then execute it can basically just call any api for you and then what's happening is once that api is called you can render a different ui with the results from that api so here i'm just like checking the name of the tool and with the result i'm showing a different component so like when casts come through i wanna show a little small card for a cast so we're calling casts here and if not then we have this little preview that's showing search for forecaster so definitely recommend you checking that out i know this one is a little bit shorter today but still wanna make sure that we are delivering our weekly news we'll be back next week with a guest hopefully for the ninth episode of the hub really appreciate you if you have any questions about building on forecaster building v two frames etcetera feel free to reach me preferably on warpcast but x telegram etcetera it's dillstek dot eth really appreciate it and have a great rest of your tuesday