Unlock Creativity & Experimentation With Superchain Interop | Karl Floersch - Optimism
Ethereum Denver·Thu, Oct 9, 2025, 12:00 AM
Speaker
Optimism Co-Founder Karl Floersch will break down an existing DeFi app and demo (in real time!) how to reconstruct it for the interoperable future. 🚀 Get Ready for ETHDenver 2025! 🚀 We're already hard at work preparing for next year's biggest Web3 event! Keep your eyes peeled for more info on ETHDenver 2025—it’s going to be epic! 🌟
Transcript
[Music] okay so welcome friends we've got a crazy preo as I alluded to previously um this is going to be we're going to see how it goes because to be real it's the they talk about live demos are you know very you know very bad luck this is like live demo like times 10 so get ready get ready we'll see okay so we got what do we have we have three it's 353 what am I going to be telling you all about I'm going to be going through the super chain interop devet tutorial and starter kit and then we are going to go into a experimental interrup repo and you know thing that I've been working on which I which I was calling the futuristic super chain starter which is probably broken and as you'll notice my latest commits were as of 19 minutes no 19 hours 38 minutes ago so trust me when I say this is a live demo this is a extremely alive demo so okay real quick what is native interop what is this thing well I hate to break it to y'all but we solved ethereum interoperability we did it we did it we can go home no but actually though for real it is actually very exciting um this is this is the real deal when it comes to interrupt it is chain a can read information from chain B high security and with low Lany and by low Lany I mean a couple seconds and realistically if we fix the builders it could be as low as same block that whole silly meme that's probably not that useful of synchronous composability it is it is on devet it is not fully there on Main net but we are so close so what is this what is this mean it means that you are in on the ground floor and if you don't believe me that there's a devnet I promise there's a devnet cuz there's a block Explorer things are not real blockchains are not real unless our blog explorers and we have explored now we actually have multiple blog explorers but I'll get into that soon and we're going to see what it's like to build an example app this right here is the first live tutorial about how to build an example app on the super chain devnet so now if you want to follow along which I highly recommend go to g. github.com op super chain click on this gist op super chain it's not me someone else someone else's GitHub now um what are we going to do so thankfully I have indeed already I have already downloaded and you know I did a get clone but I really didn't touch it I I promise I did not touch this thing and by the way let's and let's but let's look at it let's look at what we have here so if I go to the let me actually follow along with the tutorial like I'm supposed to boop boop boop we're going to go to here we go super chain starter kit gives you a few nice things it all you need to do is you clone it go into your repo pmmi and then pmpm def super simple so why don't we get why don't we do it so you know by by the way I whipped out my old vim and t-mo configs for you not because I use vim and t-mo anymore but because I wanted you to know I know the key bindings but I still choose not to use them okay where are we at so what this is actually really shout out to the to the devx team they did a really good job with this this this uh you know this is pretty cool so what did we actually do I started up the development environment spins up superp Sim what does Super Sim do it deploys two chains kind of like you know test net chains right and it has Auto relay enabled meaning that if you send a message initiate a message on chain a it will automatically relay on chain B now notably this relaying is asynchronous so we are moving into the world of solidity programming with asynchrony which is extremely exciting and also very scary but for the purposes of this demo it is extremely exciting and what actually happened in the background well one it ran this deploy contracts CLI this is like super CLI it deployed two contracts it deployed a counter you always you need a counter in your in your starter kits deployed a counter on chain a and a counter on chain B now something that you will note about these counters is that they are deployed via create 2 we know that it is very hard to deploy these uh contracts in a multi-chain context we need to make sure that all of the addresses are going to be the same on all of these chains which means that we've had to build out tooling to make it easy to deploy your contracts on various chains so here we go we've got the logs from the super sim a and super Sim B and uh you know chain a and chain B be and we've got this beautiful little front end which I will then pop open oh yes I forgot I need to click C and then boom we're here okay so what does this end up what does this do pretty simple we have a counter and your normal counter all you would do is You' click the incrementer and it would increment the value right that's like your normal counter counter thing next we have the l22 L2 cross to main messenger counter aka the cross chain counter where what I'm doing is I am actually sending a transaction on chain a and that is initiating and incrementing the counter on chain B so I can you know send it again and you'll note that it's a little bit slower than the single chain now I haven't proven to you that I'm actually doing cross chain interactions here but you can kind of get an intuition because of the leny there are really two trans actions going on when I'm doing the cross chain version of this counter but now to actually prove to you that I am doing this remotely oh I actually had some logs which would have proven it to you but what I'm going to do instead because I feel very cool is I'm going to move to the devet config and then what I'm going to do is I'm just going to serve actually I'm going to look look up the npm thing there we go okay Dev front end makes sense checks out and what I'm going to do is run the front end and so instead of connecting to my local environment let me pop it open this is the diff this is the Delta I'm just changing the you know from using the super Sim L2 to using the interrup Alpha great so now let me pop that pop it open boom we've got some different chain IDs it's promising thank God the other thing that you'll notice here that's actually kind of cool it says that the counter is already incremented to three why is this well it turns out that I've already deployed this contract and because I've already deployed it but the address is deterministic based on the B code if you don't understand the words that I'm saying I really do apologize but create two it's really cool um I'm going to call this function send this is a cross chain message now I happen to open this uh Explorer open to this particular address why is that because I think that it is the correct address it is the correct address we have found this transaction 12 seconds ago 19 seconds ago if you were timing it it would line up perfectly and we've actually instead of incrementing on my local machine I can send a message and I have incremented yet again on the remote devet so y'all if you literally here's what I want you to do okay you get a you get a golden star if you open up this where where did I find put this ah if you open up this gist and you follow all the steps and then you increment the counter before I'm done talking someone does that that's that's very impressive um I will be impressed I won't know who you are unless you tell me and or if you claim credit for someone else's work okay so we have officially done the thing we are literally and and by the way I don't know if I don't know if y'all like really appreciate if y'all really appre appreciate this you know the fact that we have this this devet that allows you to in seconds move information from one chain to another I remember I didn't actually tell you why interop is so insanely crazy but like think about all of the horrific fragmentation in ethereum right now you try to deposit into a chain or sorry you try to you try to just put your token on chain let's not talk about deposit what is that mean you try to get an onchain asset you are confronted with a dis disgusting dropdown truly abysmal of a million different networks this needs to go away the only way for this to go away is if where you deposited your asset does not actually matter because you can move your asset from chain a to chain B to chain C within seconds and as it turns out that's exactly what we did in this demo we moved from chain a to chain B we did not go to chain C okay so now that we are done with the kind of like the basics which I think you know first off extremely cool um part of me wants y'all to applaud right now it's really it really is amaz I mean like look look it's so anticlimactic but that's what you get for building infrastructure okay truly Blood Sweat and Tears okay so next up what do we got we've got a futuristic you know Universe let me actually pull back before I even get into my like live demo uh live demo bit so I just want to mention that this is really the beginning of a new paradigm we are entering an age which we knew we would enter in solidity blockchain land which is we need to build applications and programs and smart contracts asynchronously from the get-go and so what that means is we need to support things like promises in solidity we need to be able to do you know perform callbacks we need to do a syn of weight we need as I said better cross-chain deployment tools I went through the ones that we built but this is just the tip of the iceberg and there's huge amounts of improvements and literally something as simple as upgradeable cross-chain proxy how do you handle upgradeability and keeping all of your smart contracts in sync if they're deployed to many chains there is a literal huge number of things to build and by the way yes indeed we have 40,000 something of uh bounties which you should contribute to in this hackathon so definitely for real it's I think it's it's very very cool okay now I will show this uh you know kind of crazy version of the front end and general uh uh um oh yeah let me I'll I'll show you a kind of crazy version of the counter let me increase my zoom okay so by the way I'm going to be giving this talk tomorrow at some at a super chain event where I'm going to actually try to complete the entire application because looking at the time I think I'm really really running low but I will still be able to show you like for example something that you should be able to do very simply in the near near future right this guy is the cross-chain counter it is async enabled meaning that it can make these cross chain calls again this is a protocol level feature this is the same level of security as you know a cross contract call right it is this is baked into the protocol it's not like a extra wrapper with a relayer so I'm going to call this increment on chain function I'll give it my chain ID and what I can do in this particular Library this is not the best syntax and this is like tons of room for improvement here but what I can do is I can make this cross chain call use this you know get this proxy make this cross chain call and call cross chain get Implement I mean incr I mean cross chain increment and boom increment on the remote chain then I can add a this actually returns a promise just as it doesn't validity and I can register a call back with a thenen just as I would in sorry I I said just as I would in solidity I meant just as I would in JavaScript and then I just emit an event with this right this whole thing is incredibly like th this is a whole new side of solidity programming which will contain an enormous amount of bugs an enormous amount of gachas but still very very cool and what you know I might do is I can you know mpm test let's let's run the tests and what I end up how does how do the actual tests look by the way I recently added some tests I know the counter tests work it's unclear if the other tests work but I just wanted to show like even cross chain uh uh front end code will change with this stuff so first off we're not going to be operating in a context where it makes sense to have one RPC provider anymore like or maybe it still makes sense to have one RPC provider but one RPC endpoint maybe there's a meta endpoint but the point is you'll need one endpoint per chain no question the other thing is well this is just a wallet with private key that's the test net private key don't worry but unless it isn't and there's actually a massive Bounty that there for someone lucky lucky you okay but point being super contracts this is another thing that is like kind of a weird abstraction but it makes a lot of sense when you start building your smart contracts in this cross-chain context right instead of deploying having a single contract instance in your front end per deployment you really want to be able able to operate AC on all of your deployments at once you want to to be able to make calls to the same functions the function is number for example but you want to be able to specify the chain ID which chain ID well you know your your contract may have hundreds of instances across the super chain you're going to need to make these calls directly and you know similarly sending transactions so we've got 15 seconds all I have to say is this if I had you know what I will do it this is is a green field literal one of the greenest in fact I would argue probably the greenest in crypto and so if I were you I'm not and I'm also very biased but I really would consider building on top of interupt building some of these Primitives because you don't have to be smart to push the state of the industry forward right now you can be incredibly you can have very mid curve ideas and it will be brand new because no one has built cross chain smart contracts before ever so this is the first opportunity is literally the first devet that is public for interop for ethereum let's solve fragmentation and save the world thank you
Automatic transcript — names and jargon may be misspelled.