New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Circles Workshop - ETHGlobal Brussels 2024

ETHGlobalWed, Oct 9, 2024, 12:00 AM

Join Daniel Janz from Circles for a workshop that covers how Circles is about to launch its SDK and new contracts. Discover the exciting new features and learn how to seamlessly integrate them into your application. We'll also unveil the powerful Group feature, allowing you to collectively collateralize and mint new Group Circles, ideal for use as DEX liquidity or forming governance models. This workshop took place during ETHGlobal Brussels, a 3-day hackathon held in Brussels, Belgium from July 12 to 14, 2024. ETHGlobal Brussels brought together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ---------------- Follow us: x.com/ethglobal Website: https://ethglobal.com Email us at: hello@ethglobal.com

Transcript

[Music] so hi everyone um I'm Daniel from the circuits team um and I want to give you a quick presentation about our newly released SDK and what you can do with it so um let me give you a quick introduction about what circuits is um circuits is a social money uh what do we mean by that um social in circles every person gets their own personal currency so whenever you sign up you get your own year C20 token and um yeah here's Ellis with her blue token here is Bob with his green token and Charlie with his red token so um how are these talken mints or um how how do they come to be um so every person can mint exactly one Circle per hour um this ensures that there is a fair issuance uh no matter when you enter the protocol so there's shouldn't be a foro for that case so um yeah this is how it works one hour of time is exactly one Circle um and there's a catch because if you can just sign up create your own currency um a bot net can do the exact same thing and you you have a whole lot of counter fight money so um transferring circuits is limited to trusted entities it means if you want to transfer your circuits to someone um and this person doesn't previously trust you um the transfer will not work so what you need to do first is um to establish a TR trust relation so here in this case our uh green Smiley reaches out to the red Smiley and um says okay I'm trusting you and only then the red Smiley can send to the green Smiley and all are happy so um same thing with blue and green um blue reaches out to green and says hey I trust you and then green is allowed to send their own tokens to to Blue so um what happens if you want to transfer your tokens to someone who doesn't trust you um this is also possible via so-called transitive transfer in this case um I think we want to send from red to blue um yes so uh the first step would be red wants to send to Blue but blue doesn't accept Red's tokens so what happens in the background is that the component called the Pathfinder will do token swaps for you so first um red sends to Green and get some green tokens that blue in turn accepts and then um red can send to to Blue wi the green uh green Smiley um so really quick demo time um see if that works as well we have a small example application for the SDK um please excuse oh the design uh maybe I should quit that yes H that doesn't seem to work how do I get it to the screen maybe it changed the settings sorry o this is huge yeah okay so let's try it again so here's a small um example application that's also linked in the uh documentation and what you can do with it is um you can sign up at circles um and basically perform all the basic actions like giving somebody trust receiving trust sending circles um and we just start by by by setting up an account here so we call this account Lis account um click the register human button M ask us to sign the transaction and we do the same here for our pop account okay and what that returns is our address of our registered aatar and just to see that these people don't have trust connections right now we can put it into our data Explorer app and um yeah watch this account so this account is on itself right now it already has their own token but it cannot transfer this token anywhere so um what we need to do next is to give this account some trust so we have here our second account and um can interact with it and say okay from this account we add a trust relation to the other account let's do that and now if I explore that again in our data application we should be able to see that Ellis got a new trust relation so um this a one-sided trust relation now so that means that um Bob can send to Ellis or Ellis can send to Bob let's see uh just let's try that so here in this case let's say the red browser trusted the blue browser that means from here we should now be able to send some circles let's send 10 of them and should also be able to see that in the So-Cal transaction visualizer which has a list of recently executed transactions maybe I have to reload that okay I think the sort order is not that nice but okay um we we have to trust relation here now so that means um The Trusted entity can send to to someone else but this is still a very limited scenario um let's imagine I'm in a different city nobody trusts me there uh I found a shop that accepts circles and I want to pay there um how can I do that so for cases like this we have this component called the Pathfinder and um let's check out what our path from from here to let's say some Rand random shop we an organization called Circus cor let's let's say we want to create from send from our newly created Avatar to this shop um well uh here the mistake [Music] come Auto completion okay that didn't work yep it should auto complete so now now it should work so um this didn't yield any result so because there is no trust connection between the two of them um let's add a more established account in the mix let's let's just use my account for that purpose um and I can oh sorry uh let's let's trust our newly created account from my established account which will enable it to access a huger a larger pass of of the network I need to check some address that sorry okay let's try that again it's time it works so now by adding trust from my established account to the new account um it should be able to access the rest of the graph which we should be able to see here in our trust graph visualizer let's use this address again and we now see it's connected to me I trust this account and that means that I'm accepting um this account's circles now so when we now try again to calculate the route from um this account to our shop we should be able to send a much bigger amount than zero oh yeah and we can see um this is our newly created account it's the sender or the source and I'm I be became an intermediary so what happens is this person's tokens are swapped for my tokens and my tokens are accepted by the shop and um this way we can facilate transfers between entities that are not directly trusted um so I think that's it for the demo um I'd like to point you to um our SDK documentation um we have a small section about how it works you can read about the issuance of the personal currency in more detail here um there there are some really nice parts to it for which I don't have time to explain right now there's also a concept of group currencies um which is necessary because since we have so many personal currencies it's difficult to integrate that with existing protocols like market makers dexes or whatnot um and for this case you can wrap personal currencies into a group currency and treat them as one which makes integration with existing protocols much easier um yeah then we have a quick overview about the circuit stack so the base layer is um definitely the contracts but there's also some ACC comparing infrastructure like the Pathfinder and an indexa so if you're interested in that um here you can find the links and then we have an SDK uh finally with um three example applications so there's one very simp simple SW kit application that's the one you have seen here the one that's has this great design um and there's also a fully featured swell kit example application that you can use as a starting point it's linked here it's called Secret Garden and for the react devs um of you we also have a small react playground app which you can check out and just start modifying it um yeah other than that our documentation provides a comprehensive guide um which you can really just go through and copy and paste to your project um each step has a full example at the end for SP and react so it should be easy to get you started um and that's it from my side let's go back to the presentation and I quickly share the QR code for the docks here um and um yeah thank you very much after that I will hand over to um my colleague Gabrielle who will tell you about AI agents and maybe a little bit about how they can be integrated with um circuits so we have one Bounty uh for the best integration of the circus SDK uh a bounty for the agents about he will talk and um a combined Bounty and thank you very much let's go over to [Applause] gabria uh not looking very good oh awesome thank you uh hello guys I think I have 10 minutes or so so I'm going to be quick basically I'm going to start with where can you get help and support it's um here so we have a telegram group we also have a noses Discord Channel um those are linked I should actually look at my screen those are looked here linked here in the bounties so you can see at the this is the Bounty build with AI agents so uh you can just click here we have a starter rapple here as well as some great documentation on on gitbook um what are trying to build what are you interested in we're we're building agents that interact with prediction markets uh the agent that we have in mind and we taught for this hackaton is what we call General agent and the general agent is simply an agent that starts with you should learn you should evolve and you should survive so it's very general and it has a set of tools at his disposal basically how to interact with prediction markets by buying tokens selling tokens check fetching its balance and uh redeeming its winnings but we're also interested in uh for it ahead Heaton that you guys be creative and create new tools that you guys find interesting for this agent either we interacting with other defi protocols on noses uh doing any kind of tools that you can think of that's the the one one Avenue that we're interested in the Second Avenue is if you guys have some some Frameworks or some other ideas on how to create such an agent also feel free to do so and reach out to us if you need some guidance some orientation or want to bounce off ideas uh the contexts are here as well in the documentation um also if you guys go through the documentation here uh if you need some open AI API Keys we can we also got you covered so let us know and uh Vana is the API key master so just let her know um and yeah some other tools are actually free to get started so feel free to create an app and just to let you okay I actually talking too too fast here let them slow down a little bit um how does that look like right so it this is also linked in the documentation afterwards so this is a dashboard that we we have our current state of the agent right so what is the agent doing right now if you guys see on the bottom here you can see one iteration for it to run it's basically a while loop and then you say okay run once run twice and so on if we say run let's say 10 times oops 10 times with the default prompt that we have learn survive evolve then you're going to see that it does something it starts really slow and says hey what do I need to do learn about learning what should I do and then it slowly tries to fetch the markets because it understands that surviving means having a positive balance in next die so you can see that it fetches the balance here and now as it has the tools for fetching prediction markets it also fetches the markets that it has at its disposal so those are some of the question that it has access to I think that it exhausted the iterations oh no it's still running so I would expected to place a bet so buy some outcome tokens hopefully um yeah it's actually predicting the probability for a market so you can see what is the probability that this Market ID happens and then it says 75 H I don't like this one or um I I do like it or let me get a probability from another source and by predicting the probability of a given market then it decides if it should place a bet or not place a B for a given market right if I'm if I trust that my prediction is correct then it makes more sense than if if I'm prediction is is rather low so I guess those yeah it didn't really place a bat so if you can if you can uh start more iterations here you can also say uh it keeps it has some memory right so you can see it's just in the end so it picks up what it did before so it has some history uh so yeah that's what I wanted to show by yes mean it's a tool that it has it's already there and it as I said places a b so buy yes outcome tokens um yeah and maybe going through the code real quick um anyways this dashboard is linked feel free to take a look what I wanted to say is this is a very uh python heavy project so the general agent is here and the relevant function is called Main and the main here involves creating an agent so it's really standard open AI shpt stuff uh you register the functions that you have so for example you also have the G balance here it fetches your balance in XI uh it fetches your wallet name as well um and it reg anyway it registered the functions uh and you're able to configure The Prompt so as I said this is uh one of the prompts that we have act as a Trader or you can also adapt that to your your own needs if you have a different use case in mind um and then you'll run iterations here with a given number of iterations that you have um yeah if anyways support channels are there the other thing that I wanted to briefly mentioned is the um bounties themselves so you can read it through basically but this is really the use case we're looking for new new functions new framework um and be creative I mean more than happy to bounce off ideas and seeing any other interesting use cases you might have um and I just would like to highlight this option here so the circle AI integration that's something we're working internally at at noses and trying to understand how kind of touch points we have um those two points that we mentioned are just suggestions so having circles as collateral for prediction markets so the bets that we were placing they involved X die as collateral right as kind of bouncy for the for the for the market for the question but you can also think of placing circles as collateral what would that mean that's also quite interesting uh and the Second Use case is co-owning AI agents via circles so it's it's nice to have an agent that belongs to you and it can conduct action in your behalf but it's also very cool to have an agent that belongs to a group right and you also enti you only entitled to that agent if the if you belong to a circus group for example if you belong to an organization as Daniel was talking about for example uh what would that mean that's the kind of second Bounty that we have um yeah all the all the reos are linked in here uh just if you guys have any questions there um more than happy to take them otherwise I think I'm true with my presentation please yeah are you with social F sorry yeah yeah like agents would also be interesting yeah uh we are we we haven't worked in that direction but I would be curious to see something that like that yes yeah please you already that is a great Point uh there is I think the circles guys are better able to answer that than than I am but uh there are kind of let's say measures in place to not allow you to kind of break the system and having let's say a double double you and somebody else that you're actually one person with two wallets that's actually built in in the circles protocol in the circles system that is not so in order to not to not allow that to happen yeah does that answer your question or I I have like maybe I can talk to some you please yeah yeah feel free to reach out to the team afterwards yeah um I guess just checking if I need to say something else no I think the the getting started is also here yeah so the it's as I said very python based I will also recommend using poetry and Pen um that's the way the easiest way to install dependencies and everything to make them local and also deploying agents to make it uh not really local but also live uh I like this package model which lets you deploy um functions on on chain uh not I'm sorry not on chain but let deploy functions like a normal Cloud offering so that's that's very easy to get started um yeah and feel free to reach out if you have any trouble there we'll be we'll be around thank you [Applause] [Music]

Automatic transcript — names and jargon may be misspelled.