 So today we will be presenting Remix with Robb to pay here. So I am part of the Berlin CPP team in Berlin, and so I am a developer of Remix. If you already have internet now, you can browse remix.itiam.org, and we have a version there. And so there is also like documentation, and you can also browse our chats, the GitHub chats slash remix, but you can also go to remix-dev, and it's a more developer chat. So today I will be most of the time presenting what Remix is and what are the new features of Remix. We will go over like what happened last year after Shanghai. We will go over all the new features that we have, and we have one kind of important features, which is actually a tool. It's Remix-dev. And I will present so how we can use Remix together with Gath and Mist. Then we can take a look to the link that we have between us, the CPP team, Remix-remix and new community. There is a lot of link, it's nice. Then Robb here will talk a bit about new UI changes in Remix that will be deployed soon, and then we will go over what's next. So if I want to resume a bit what Remix is, I would say just a 3D editor first that contains a basic syntax highlighting that contains auto-completion, so you have basic IDE features. So you can just write smart contracts in 3D team. It contains runtime environments, which is completely integrated in the browser, which means that when you will create transaction, when you will send transaction, everything will be run inside the browser. But you can also, if you like, use Remix with any external nodes, like you can plug Remix with Gath or you can plug Remix with Parity or the CPPus client. And then first important features of Remix is the code analysis. So as long as you are writing code, we will just analyze the code and then Remix will just propose some warnings and display some warnings in order to improve the code and in order to avoid mistakes. So this is Remix and I will go over a basic use case now. So you can input contracts. Here, this is a default one. You have two important stuff happening in the right panel, which is the compile tab and the run tab. So if you look at the compile tab, you will have some information about the completion results. You will have some information about the static analyzer. For example, here you can see that the compiler gives you one warning and the static analyzer gives you two warnings. So you can check in real time what you could do and you can check if there are maybe some mistakes in the code. So you just write contract and you compile contract. Then you might need to run contract. So we'll just go to the run tab and there are several options at this point. You can use integrated VM in the browser or you can plug Remix to any external node and for example in this slide, you will click on create. That will create a new transaction and you will be able to see the result in the terminal below. So you can see that below I can see the new transaction. You can see the from field. You can see the transaction hash and you can see a bunch of other information. If you want more information about transaction, you can then click on the next details button here. And you can see more information like execution cost, transaction cost, value, the bytecode, the deployed bytecode. And then important feature is the status field here. This is a new feature that has been released with the base engine release. And if you want to have more information about the execution of a transaction, you can click on the debug button here and you will be able to start a new debug session here and you will be able to go through the execution step, step by step. So this is a really basic use case of Remix. You write contracts, you verify contracts with the analyzer and then you can debug the contract. You execute and you debug the contract. Yeah. So I will go a bit outside of technical stuff now. We have this here three new contributors in Remix, which is very nice. We have a lot of new users. You can join the channel. And we have a new interface. Well, the interface is not completely new, but then now we have a tag guide, thanks to Nina, that allows to have a more cleaner design. And we are really proud of it now. So yeah. And you can just ask them questions. There are Nina Breznik, Sarah Paff and Rob here. They love to answer questions. Okay. So I will go over some features that have been deployed in Remix lately. The interesting one is the static analysis. It's just a bunch of modules that will run along the compilations and that will check if there are mistakes and if the code can be improved. For example, the second one from the top is a check effect and that will check if there might be any rentancy issue. For example, if you look at gas and economy, the second one, there is this on local calls. That means that it's not very nice. If you call the function to use this dot, it's better to just call the function with the name of the function because it will consume more gas. So it's a bunch of modules that are here to facilitate the tests of the contract, the verification of the contract and that can, as much as possible, forbid to make mistakes. Yeah. Thanks to Sarah Paff, we have this time now, which is, I think, very nice. What you can do here, you can see transactions, as we have seen earlier, but you can also input JavaScript code. So you can input script. In this example, you can see that there is a call to get block number, like web3.ech.getblocknumber. This is JavaScript code, by the way. So you can just input scripts and you will have the results in the console. You can also listen on network. That means that either here will be displayed transactions that are executed from the remix UI, or maybe you want to hear display any transactions. So you will check listen on network and you will be able to see all the transactions mined in the network and you will be able then to debug and to inspect them. The usual debugging features, you can see the state of the contract. I mean the 3DT state, the decoded state. And you can also see the local variables. One example here. And yeah, you also have break points. So you just put the break points in the code and then you click on jump to network and you will be jumped to the network. This is basic ID features, but that makes life easier, I think. Yeah, one really nice stuff that we have since a few months is the swarm integration. Really cool. So you can then publish on swarm. So you see that on the upper right of the image here you can see the details of the contract. If you click on publish on swarm, you will just deploy this bunch of season stuff in swarm, which is the version of the compiler used to compile, which contains some settings and which contain also the source code that has been used to compile. So you just click on publish on swarm and everything will be pushed on swarm and then you can reuse it in remix or you can also reuse it in any kind of applications that use swarm. In remix, you can use the swarm integration directly in a source code. You can see import token from and then a busy URL. Yeah, so I think this really important feature because that leads us very more decentralized way to develop depth. And yeah, that's most of the one very nice feature that we have since a few months. So now we will go back to what the remix is. Remix is a web app. And as a web app, it's a bit hard to keep your code because the code is stored then in the browser and if you lose storage, if you clear the browser, then you will lose everything. So it's very bad. One solution will be to use file that are in your local system, but using the API of Chrome or so on, but it's a bit complicated maybe and maybe we don't want to do that. So one solution will be to use remix. What remix do basically it will share a folder between remix and your local computer. So you will say to remix. Okay, I have this folder. Please let me access this folder from remix ID. This is the basic use case of remix. The other use case is just why I'm here now today. This is the interaction between remix, missed and guess. Now I will just say to remix. Please start guess, start missed. Then use this folder to store the chain data. Maybe load a front end somewhere and that will just create a new development environment inside the computer that you can use. So what I will do, I will start remix. That will spawn a new blockchain or you can use an existing one. You will share a folder between your local computer and remix ID. You will maybe if you want serve a folder in your computer so you can browse that. And you will start guess or missed. Or if you don't want to start missed, you will start guess and you can then use your normal browser together with metamask for example. Now I will just give here a small test case. I am here. I will listen on network. I am in missed but I am browsing remix inside missed. I will check listen on network. At this point all the transaction will be displayed in remix. Then I go back to the front end and I will just play a bit with the front end here. I will input some value and I will click on give here. That will just create a new transaction. Until then it's fine. I will validate the transaction. I will wait a bit. And remix ID by the way will automatically mine stuff. So I don't have to start to mine. Everything will be mine automatically. So that will be mine. I will go to remix D. Sorry, remix. Then at this point I can see transactions happening here in the terminal of remix. And I can inspect the transaction. I can see the execution code. I can see some other information about transaction. And I can also debug it. Yeah. So this is one specific use case that you may want to have. I mean that you have your contract. You feel that your contract is okay. But then you want to test your contract and you want to use your contract in your front end. And at this point you will have to go back and forth between the front end and the contract. Like okay you play with the front end and then you realize that you have to modify something in the contract. So you go to the contract and then you go to the front end again and to the contract again. This is very long. But with that you can easily switch between and you can easily make modification in the contract and see the modifications in the front end. But maybe you don't want that. Maybe you just want to have a contract and to deploy the contract without taps and it's fine. So these are very specific use cases. Remix and the community. So you can browse, remix. Now you can access the chat. You can discuss with us and you can ask questions and you can ask for new features, of course. If you go to etascan.io you can also use Remix Debugger. You can also use MetaMask with Remix and a very nice feature that's been deployed. Maybe not deployed but that is currently in development. It's a way to debug transactions from MetaMask. So basically MetaMask will replay the transaction inside MetaMask and will give the trace to Remix. So you can then debug any transaction from Ringkubai or Robston or any other app. Infura, important too. This is another way to debug transactions. So Infura is a bunch of nodes that are maintained by them and everyone can query those nodes but then you cannot now query debug endpoints. You cannot debug transactions using Infura and I would really like this to be happening because that will allow a bunch of nice stuff. Swarm, ENS integration. You can now browse, remix, id.ech in Swarm and this is very important to move the more centralized way of doing stuff. Mist, we already saw that. And NPM modules which is another important feature or advancement I would say. We really want to split up Remix in different parts so the community can use it because now if you want to use only Staticanizer you will have to pull the whole Remix and you don't want that. You just want to pull the Staticanizer so we need to split up into several modules. What's next? I think I will let Rob speak now. He will talk about some new UI changes. Thanks. All that technology is kind of cool but what we're going to talk about now is aesthetics and themes are coming to Remix. We've made a dark theme and I like the idea of themes because we're going to be aesthetically flexible for both your eyes and your taste but also for your application so it's going to be easier to integrate Remix into your projects. That's the next button. So we've made a dark theme using the Metropolis color palette and that's the compile tab and here's the run tab and in this Metropolis edition Remix we're going to highlight Metropolis changes as they get reflected into the Remix tool and also Solidity changes and the UI changes as they get reflected in the tool so you'll be able to navigate Remix better with these new updates and also because this is a great platform for learning Solidity we're going to be having a lot of tutorials and instruction for beginners so you can start learning Solidity with this tool because it has a test environment and you're not going to lose all your ether. Thanks very much. See you soon.