 Are you ready Francois? Yeah, I'm ready. Cool. So feel free to go ahead. Okay. Great. Thanks Maurice. Hello everybody. Thanks My name is Francois. I'm from the Solidity. I'm not Solidity actually. I'm from Remix team I come from with Liana, which is also from Remix and Today is actually a very special day for us because it's really a day We have been working the last six months on a new version of Remix and I'm going to show you now, so if you go to Remix.Ephraim.org you will see the last version actually the version that you love that you Know very well, but if you look closely you can see here There is a very nice electric green Button that we took like maybe 15 minutes to find the color Let's say that now you can switch to the new version and I'm very pleased to show you the new version of Remix As you can see everything changed, but if you liked Remix before Don't fear nothing really changed so basically the idea what that Remix is used Today by people that are really new to Solidity and also by people that are very well aware of Solidity because it's used every day by the Solidity team In the office here in Berlin. So we had this problem that We should we couldn't have everything on the same interface for these broad Audiences, so we need to make it like more modular like progressive application so you can learn and use what you need at the time you need it and that's why we thought about a new more pluggable way of building Remix and this is what we did actually so When you start you just have The file manager so you can create file and you have by default the most famous Unused smart contract in the world, which is the ballot that's all smart contract You have by default on Remix and nobody of course use it But everybody knows it and still here But there is only this by default so you can just write smart contract Or whatever you want and if you go here you have the plug-in manager. This is the backbone of the new interface of Remix Basically, you can create your own experience on Remix depending on what you really need and in our case We are working with a Solidity smart contract So what we need now is a Solidity compiler and here Now you have on the left part the Solidity compiler and you can compile your ballot that's all nice But that's not it. That's not all Until now on Remix you could only work with Solidity and From now on you can work with Viper Who has worked with Viper? Are you ready? Only two people. Yeah, I hope with Remix a new version of Remix you can work with more and Yeah, so basically as Remix is now a pluggable we need permission because everything so Viper plugin is actually not Built inside Remix. It's an iframe that runs outside of Remix. So we need to ensure some permission level so like people don't abuse of your Idea and because we're working with Solidity and connection with a pharynome. It has to be very Killful and old so here in this case The Viper plugin is actually asking you to manage your file manager it's actually for being able to know if the Current file is a Viper file. So I just accept it and I don't want it to come again So I will remember my charts. Okay, great So I didn't raise that my hand because I don't actually know Viper so what we build is The ballots The smart contracts written in Viper, which is here. So if you have never written some Viper before it's looked like this Okay, you have like five seconds to read it And now you can compile the ballots Inviper Okay, great. We have everything that we need the ADI the bad code run by code. We also have LL Compile stuff. Nobody cares. I mean Not a lot of people use it. Sorry Also, yeah here the compiler is remote, but if you want you can use it locally and Now that we have compiled our contracts We want to use it and for that we'll go to deploy and run transaction Here we go. Great. Yeah, I need to recompile. Sorry With remotes and please look at the icon We don't have that before and now you have the ballots and these ballot come from Viper and It's actually what we want to do now is trying to have like more Plugable way of having people that want to develop with the tools that they love and they are used to if you look here, you have like several Plugins that we already have Some of them are developed by the remix team like the debugger and or Remix D but also people from outside of remix like pipeline which is Developed by Lorena from a Raiden team, I guess so The idea now for us is that the community Use these tools to create their own plug-in and improve their workflow and inside remix and make this environment more Usable we have already some plug-ins in in the load. We have a mix material plug-ins Which is coming if first scan to verify your contract a S doc that will transform your solidity documentation into MD documentation MD file and bunch of other plug-in that are coming and if you plan to create a plug-in Please come to me and now what I would like to show you is how to build a plug-in and Are five minutes So the idea is that you understand that is super easy to build a plug-in on remix So I have here an alarm a timer. I'll try to do it under five minutes And here as you can see I have no file. Okay, so I'm going to do it from scratch You're ready. I think I'm ready. So Let's do it. So first thing what I need to do is create an index dot html file because basically Index perfect. So basically the plug-in is going to live inside an iframe. So I will Cheat a little bit here because I'm going to use this nippet and Now what I need to do is import the library the client library for building a plug-in for for that I will go to get a .com slash thorium slash remix dash plug-in I Train all day writing this stuff Okay, so you can use npm of course, but in our case we want to use just a simple cdn So I'll just copy-paste this. Okay, so now I have I can have a global variable on my HTML file and I will use it to create my clients. So the Global variable is called remix plug-in and I need to create a nice frame Clients. Okay, great. So with that I will have access to the ID from my interface And now I'll create an isync function that will just say hello Typical hello world and what I need to do now is write I want to write hello world on the file editor. So for that I will do clients that call and then I will target the plug-in I want to call in this case is the file manager and then Then thanks, I will target a method from this file manager and this method is called set file The third parameter is the name of the file. So you need to know that but in remix Every file start with browser. So I will call it hello dash world dot txt and The final parameter is actually The hello world. It's what I'm going to write inside my file manager and I will await for it and Lastly, I will actually just Do that and here I will I'm going to switch file To this so it is going to just focus The current file which is inside the editor to the new file that I just created. Okay, let's save it and Run npx serve which is just the basic npx server. Okay, so it's going to run Oh, yeah, sorry. I need a button, of course To trigger this so I'll create a button click Say hello Please don't make any mistake Hello Okay, it's not it doesn't watch so I need to restart it Okay, so now I'm going to remix and in the plug-in manager here I have connect to local plug-in here I will write the name of my plug-in it has to be camel case so it's going to be a low world Here is the name that is going to be display hello world Oh, yeah, so here communication between iframes should be on the same HTTP version So here a local host is going to be HTTP and here is HTTPS. So I need to Go to HTTP as I'm working locally is safe. No problem Going doing that again Well Am I right on the time? Not sure local host Okay, and here I just a I need to say if I want to listen on Event from remix because we don't want to flood everybody with events We need to be very specific about that here. I don't need any event I just say I wanted to be on the side panel. Okay, and here have this Magnificent icon of my new plug-in that's arrived Okay, and I click and come on here. I have my hello, okay Let's try it. It's asked me as I say later Permission for writing on the smart file manager. I accept it tells me that he's going to do it Yes, it did it and Four minutes and 40 seconds So hopefully You can see it's very easy to write a plug-in with remix, of course This is very light plug-ins. There is a bunch of other stuff. You can do with that. You can use angular react view lead HTML We'll try to do an example of us felt I'll answer just after that and Yeah, if you go to remix plug-in here, you have all the documentation That explained how it works here You have the currents plug-in that you can call from the clients you have fire manager compiler editor and More are coming of course. Now we are going to focus on Improving and making much Everything in cyber mix accessible from those plug-ins Yeah, and also if you want to check for examples you just go to the example file and here inside plug-ins you have several example from the very simple one like just a Hello world Which is just an xml and exit HTML to a more complex one with F F doc that is actually a web pack plus type script plus little elements Application and we'll build more plug-in with that so you can use your favorite framework To make your own plug-in and build and make your remix a better place Okay, thanks everybody and I will answer question now Yes Yes Yeah So bro, you know We want to change the world, you know Like we know about the politicians and the the mafia game that they are playing So under us, you know, nobody is listening. How can we as Like a community as like experts of Computer science, how can we change the world in your in your opinion, bro? Maybe you can start by developing a plug-in for remix for example, this will make the world a better place, I guess I Know the question if it's related to remix over it would be better. I guess No, okay. So if you want to If you want to build a plug-in, please come or to me or you can find me on guitar It's grand prompt and if you don't know how to write it. It's very actually very easy You just write crunch from it's actually This guy, yeah, so everybody knows this guy. Everybody has his way of saying in his language I'm French you heard that so just translate to grand prompt and you'll find me on guitar Yeah, would it be possible to write a wallet connect plug-in with that? Yeah, I guess it will be but right now. We don't have any we don't expose any interesting module to make it into to have a Nice experience with wallets, but yeah, we were thinking about this for this meet-up But we didn't have the time to build a API to make it interesting, but I will do that for sure Any other question you're answering a last question. Yeah, sure. Do we have a last question? No, okay. Oops. No last question. Thank you so much Francois Yeah for this great presentation and for challenging ourselves a little bit Okay The official part of the session will be finished now So, please feel free to stay here a little bit and again Thanks so much for coming tonight even by this beautiful weather outside