# Ewasm community call #8

- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2019-10-09
- Duration: 24:21
- Topics: blockchain, smart contracts, distributed ledger, Science & Technology
- Watch: https://streameth.org/watch/yt-R0wtxUyWo9E
- YouTube: https://www.youtube.com/watch?v=R0wtxUyWo9E

## Description

Agenda: https://github.com/ewasm/pm/issues/24

## Transcript

[Music] you [Music] hello everyone can you hear me I can hear you hey just so you know this call is recorded and likely will be published in the future and just like the previous ones were also published and I don't think we have any kind of agenda today but feel free to ask any kind of questions and we'll try to answer them as we can um just mention your name and ask as many questions as you want you know my name is stan Ellison and I just like to know the fastest way to get up to speed or get a development environment going for awasum you anybody else what jump in okay I guess the the first question is what kind of language you're interested in um well I'm actually interested in the the webassembly text format most of all not surprisingly I guess I'd like to build a thin language on top of that that can compile to e wazzle [Music] so actually let me just try to find it and there couple of languages like that already which try to be a a tiny layer layer already the webassembly text format although very maybe it's better to extend those yeah I think we'll just post it into the II wasn't lobby no thank you yeah there's a couple of them some of them are maintained some are less maintained I think that at least like two which try to achieve the same thing okay now top of that we have a on the II wasn't slash test a triple we have most of the user facing documentation which includes had to compile solidity it had to deploy it how to compile other languages like C or rust okay it also has details regarding connecting to the assessment and running a node it has one section which is missing but we have an issue for for that section which explains had to deploy a contract I was in contract and because it needs to be wrapped into this deploy stage and we have a tool called USM studio which is a a website to do that or there's also a another tool written and rest which is a common line tool to grab the binary into a deployable binary and we gonna add a description to the test at Reaper hopefully before Monday okay great so the thing that wraps the deploying binary is is similar to the way the old smart contracts were constructed sort of like you've got this wrapper that sends that returns the binary that needs to be deployed yes that's correct it's the same process okay great thanks thank you for that information I'm also giving you the link for the issue which tracks edition of this to the documentation and I believe we don't have Paul on the call but Paul has written the WRC 20 challenge in hand written in assembly text you have seen that it's quite something yeah probably Etsy I don't have the link Andy but probably that's the best way to start I think so too it seems like the ERC 20 standard is becoming a standard for examples of examples of against contract system compatibility not compatibility but saying this is how the contract this is what the contract should produce I didn't say that right of course but but it's sort of like an example contract these days yeah that was the the goal of it - do you have something fairly simple yet useful yeah and to see how it can be done within various languages yeah targeting he wasn't yeah yeah Hugo has posted the link to posts handwritten Epson attacks on the channel thank you I see that [Applause] yeah-hoo-hoo joined just right now feel free to ask any questions we don't have any agenda and I think Danielle's question was just transferred right now we opened for any new questions hi this is Ursula from kipper foundation I just wanted to know how the Vasa missile will work like I try to deploy some rest contact that is WRC contact I got from WC link but I'm getting the create error just I try to add them wasn't easily in my torment so how can I fix those issues [Music] I'm sorry I didn't fully get it but I think I seen a the work you guys were doing what is TD the ex problem you're facing quit he wasn't she's all like I tried to add the dependent the was a chisel package in my torment can I do like that yes you could but right now probably easier way to use it by installing it as a command line tool and just using the command line version of it so you can just do so you just run cargo install chisel on the command line yeah right and then if if you did that then you should be able to run chisel on the command line and it should it should work no it's it's not working for me so I try to add the package in my Tamil but it is giving the better yeah after I think it will be easier to resolve this if you write you down to the channel and probably it's easier more interactive to to write it in text maybe just write down the the comments you have used and what system you're using yeah sure thank you can you explain Alex what exactly is cheese of the week and yes one second and a chala I if I pronounce your name correctly I am a paucity D command I used and at least on a Mac it seems to be working but just please write down what you how you try to use it yeah okay regarding the what chisel or wasn't chisel is it is first of all library implementing a couple of smaller transformation and validation steps on web assembly in general not related to you Azam only but it does have some steps transformation steps or validation steps specific to e wasn't and and secondly it also has a command-line tool which which uses this library and a command-line tool will have two ways to to use it all the way is just run it on a given file and specify this step to be done and and the other option which isn't implemented yet to have a configuration file and in a configuration file one can specify a path pointing to a wasum bytecode and different steps can be then defined for that given bytecode and to explain what these steps could be or what these steps are and as an example one transformation step we already have implemented now is fixing the import statements in webassembly too much what he wasn't requires now imports in webassembly are to level and the face level is the actual name of the import and he was am itself requires that the namespace is called aetherium and the imports are such as use gas get call data external code copy etc but most of the languages most of the general-purpose languages which can be compared to webassembly don't have an option to specify a namespace and instead they just use a single namespace called env hmm and that means compiling most of these using most of these languages will result in a bytecode which cannot be used on it wasn't without any changes and cheezer's should make this fairly simple because it has a step to translate these so they say wrong the imports the right ones apart from transformations it also has validation and one of the validation you sorry my my internet cutoff so one of the validation steps it is doing it validates that a byte code has all the correct imports it doesn't use floating-point etc as eventually this wasn't to the library is also used in the in the central contract which is a key part of e wasn't you I don't know if you have any more specific questions with what wasn't chisel is doing or any of this was good enough as an explanation yeah it was perfect so others once you run this wasn't chisel tool on a lot some binary what will be like the next step to deploying this contract to the II wasn't is net so one transformation we actually have implemented is doing the deployment and chisel so if this transformation just takes it wasn't bytecode is an input and wraps it into this deployment stage and unfortunately this is not enabled in the command line yet so it cannot be used yet but soon it should be there and and when that is released that means one can take any one byte codes compiled by any general purpose language and it can translate this bytecode into fully fully working it wasn't right good another important step it will support is removing unwanted data from the byte code such as unused functions or unused you know extended library functions and in the future it should also be possible to replace and some fairly commonly used implementations of LEM copy memset etc with more optimized version and/or use system libraries any wasn't to to provided functionality and so eventually in the future it should not only help in generating working quite good but also generate a more optimized bytecode okay thank you I was wondering about the Turkish women like outside plant plant to be the gas limit for like if you get a version of hariom that you us he wasn't seems like they either some instructions they are like most important p.m. so probably the cash limit will be water well I think it's it's too early to to say anything about this so we think it's it's it's much more complex that I'm just changing the the the overall blog cafe rate as you may know like lots of discussions and and work into for example separating cost for storage from computation and like how to limit the Italian state inflation from the computational cost which is it is not stored anywhere so if that can be solved even for for kinda theorem blockchain we can increase the block limit for compute the gas flame is real computations and for weaponry that would be proportionally I think so depending how performant it is in most cases we can just bring it up or like well make the the computation cheaper accordingly you I have to get going but thanks for this everyone if I have any more questions I'll put them in the Decatur channel Thank You Daniel yeah see you next time see you next time oh my kV we only planned for 20 minutes and but if this also new person who joined meanwhile life if I pronounce it properly if you guys have any other questions I think we can say another like seven minutes to make it thirty minutes interval you all right then I think we will up in that case so thank you everyone for joining today and recreate questions and hope to talk to you soon at the next call thank you bye bye thank you Oh hold on a second there's a chat message oh thank you yeah all right see you then bye bye by one you
