 The sole team, you know, that's that's how we position it. It's an LLVM based toolkit for Solidity and you actually, you know So it's Solidity on LLVM, you know, that's where the name came from. It's not very imaginative. But anyway, you know, so we are a very Distributed team I live in Texas, you know, that's but most of the engineers that work on soul they live being Taipei and And in a minute you're gonna you're gonna know why because you know this because a lot of this compiler talent, you know Actually come from the semiconductor industry. So, you know, that's That's our background is primarily in compilers for chips and hardware and things like that and also for enterprise software You know, my myself has a background in enterprise software So hi datai from from our team would give a more in-depth overview of soul tomorrow That's he has a talk schedule for tomorrow. So if you like what what use what are you here today from me, you know Make sure that you catch his talk tomorrow So Oh, um, well my publisher made me do it, you know, so this is a book I wrote last year and it has a lot of Solidity and Developer tools and it's probably too too much of an entry-level book for this audience, but you know, I just want to put it here It's It's published by Anderson Wesley in the US so anyway Let's get started. So first of all the burning questions you all want to ask is why another compiler? Why do we need another compiler? Why did we what were we thinking we started almost a year ago when we Decide to write another compiler, you know, so I want to put out the Two quotes on metallic had back in 2018 that he talked about You know one of the major strengths of is serum or any decentralized Ecosystem really is a diversity of tools and diversity of software, right? You know, it's a it's decentralization of software. So that's where we See ourselves In this ecosystem is to provide I wouldn't say alternative but to provide some, you know another way to do another tool chain to For a prevailing language like Solidity or you all so that we can have multiple front-end multiple back ends and to have to have another tool kit That's provide the most stability to the ecosystem. So that's where, you know Where we see ourselves coming from So what is it? What exactly is so, you know, just said it's Solidity on L O V M. So At the current state, you know, if you look at the released software of soul on github, you know, there's there's three major parts the first is we have Solidity to evasem compile Evasem stand for you serum flavored web assembly. We already knew that so it's has can compile solidity source code to web assembly you serve flavored web some and the second aspect of it it's you all to evasem compiler and Another interesting aspect of it is to generate evm targets the the traditional The you know the the Current generation evm targets with the help of the evm lvm project, which is projects. Alan Lee led So most importantly, you know our position of it. It's not just a compiler that you can use out of the box It's a collection of tools and libraries to build your own language tools in the serum ecosystem That's how we see this project is going in the future. So here's a github link to this to this project. It's second state slash. So it's easy to remember so Before I go further, I I want to take a minute to to talk about, you know, why evasem, you know, that's the serum flavored web assembly Why do we choose that as a compilation target? Why don't we just to do evm? Directly, you know first of course is that because there's already a solid added to evm compiler and that's it's you know And it's widely used and we don't really necessarily want to compete with that So, you know, that's so from the from the get go we we try to choose another compiler target. That's it's up at the coming so um And also because that's um as a team we also build our own web assembly of runtime and And a mode of that web assembly runtime is is evasem. So, you know, so if you go to Our other project it's called ssvm. It's second state virtual machine. It has it's a fully compliant web assembly virtual machines can be used on the server side and also primarily used on the server side, I would say and it has a It has a mode that it's called evasem mode that you can it actually We have come from these passes all the state for evasem tests. So, you know, it's it's pass the test suite 100% and so With so and ssvm you can actually now Start a evasem Private node and use so to compile your solidity contract into web assembly and run it on that You know, so it's sort of like a mini test net And all simply use our test net, you know, there is a there's a test net that we had in partnership with cyber miles that use The the older generation of what I call, you know, what they call easterment, you know, the tenements in serum on tenements And then we put the ssvm it wasn't in there to replace the the guest virtual machine so that's So that provides a complete end-to-end solution that allows people to compile from you or solidity source code To web assembly bytecode and then run this web assembly bytecode in actual blockchain so that so that's The work that we have done so far So here is a demo i'm i'm glad it wrong So, you know, because I I don't have to go to youtube for that but it's it's animated jeff So it basically it shows that's um, the the the big chunk of text that you just saw Sorry, this goes too fast, but the big chunk of text you just saw is the compiled bytecode encoded into tech x format and so this is Your standard the guest console that's connected to our test net that allows, you know, that's So it goes over again. So so it's Unlock account and put that In there and deploy it as a contract. So what contract that is that contract is the erc20 contract That compiled to web assembly bytecode and then run on the uvm test net using so So there's, you know, a lot of tools a multiple tools That we have developed so far so it basically shows you that you can use the console to to to make transfers from inside the contract So so that's just, you know The work that we have That we have done that we can demonstrate here So If you go to our our software release Page that you can see the current status of the of the compiler the current status of the compiler. So so we test it So so with every release we test all the almost 500 test cases from from The uolibrary and we pass almost 80 percent of it. So Here, you know, there's a The text on the bottom of the page says the the features that that's currently supported by soul. So, you know, I There are still many features in uolets are not yet supported that we're still working on that but you know, it's a But as I have also heard that your language itself is evolving So we definitely want a closer partnership with the rest of the Solidity team and your team so so that we can have a have a really strong roadmap that we would be able to support all those features in the near future So so currently it passes 400 It passes over Close to 80 percent of all the test cases of your And what about the Solidity front end? It's less impressive. You know, there's a Solidity has any testing on contract. Those are not unit Tests, but you know for tests with you know, complete contracts And we can pass 27 There's still a lot of features that are not implemented Solidity features that are not implemented. So however, we have found some of the Solidity contract We can use so so see to compile it to your and then use so to compile to to to have assembly that pass That we have worked, you know for A couple of those contracts, but straight from Solidity We can support one of the most commonly used contracts at the ERC 20 contracts. So that's so that's where The demo that you have just saw is a ERC 20 contract written in Solidity compiled by Sol and then deployed on you So below is some of the, you know, the the text here is some of the unimplemented language features in Solidity You know, so as as you can see, there's still a bunch of things that's that we are thinking about, you know What's the best way to to implement even basic features like return multiple value. It's still Still our roadmap. So high that high from our team Gonna be able to talk more about this tomorrow, you know, that's you know Why we choose to improve some features first and why some are difficult to do so and then Well, we just talk about Sol as a compiler tool. Sol as a compiler tool as of today is I think is Is a prototype so it's not yet ready for production use Obviously because it doesn't pass all the test suites. So it's it's it provides some interesting features and however going forward what we really see So as a as a toolkit as a library of components that Other people can use to build their own languages You know, so for instance because it's based on LVM. It's an intermediate language So it's can it can support multiple language front-ends, right? You know, so it's can right now we have demonstrated partial support for Solidity and and you all but there's You know, you wasn't binding for us that's that can compile into LVM not through our tool but can be you know Can be mixed and matched with a rust compiler in that way And the there's more than 20 languages LVM already supports. So by by building on that framework We thought there's there may be an opportunity for us to become You know, one of the tools in in the in the tool chain or in the chat Or in the tool chest that people can use, right, you know, then I put here is a is article from from etc. Cross Island Lee that he talked about he wrote it yesterday. He talked about building a domain-specific languages And Then on the on the back end, you know So on the front-end that we are we are envisioning a toolkit that can support Components that can support multiple programming languages on the back end. We are envisioning the toolkit can support multiple runtime targets So we have already shown web assembly and we have shown Through evm LVM project we can support today's evm And but what about I saw more interesting use cases or not really more interest But you know, one of the popular use cases is the non non blockchain crypto use cases if you look at You know other projects out there like the facebook laborer or the you know, the chinese central bank project You know, the the digital the minb project, you know, those are all I would say Projects that are rooted in crypto, but not blockchain based So they use a lot of the infrastructure that come from the crypto world like the digital wallets the the smart contracts the You know things of that nature, but not necessarily blockchain based Is there a possibility to build a toolkit that makes solidity a more of a more general Programming language that it can be used in those kind of scenarios so So here's, you know, what what do you mean? We envision with with With a toolkit like so that we might be able to do is to you. So for instance, one of the things You know that has going on for in the academic world for a very long time is formal verification that we you know But before blockchain comma, you know, it's uh, it's very few You know very little code has been actually formally verified or have that kind of security even in the in the banks You know, people don't bother to do that But solidity is probably one of the early the first of the languages that that has a lot of tools around formal verification but Is it possible that can can we use formally verified solidity application in cloud computing environment instead of just in blockchain? like, you know, can we set up say a function of service function as a service or Container service on eminent cloud that can run solidity code the formally verified solidity code instead of, you know Having to have a blockchain on the back end, you know, since of that nature, you know That's some it's something that you know from our point of view. It's really really really interesting that we want to You know make our make so part of the part of the bigger story In the user system as as a blockchain system and also in the cloud computing system so anyway, that's That's what I have and again the the product and get up is get up slash second attach state slash and we'd love to get here your feedback and we'd love to to have more collaboration with With the community and I think I'm Two minutes left. So, you know, thank you very much and and and if you have questions, let's Thank you, Michael