Remix and Other Ethereum Development Tools - Yann Levreau
Devcon·Mon, Oct 9, 2017, 12:00 AM
Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/2/remix-and-other-ethereum-development-tools This presentation will explore why we’ve chosen to replace Mix by Remix. It will focus on the integration of Remix in Browser Solidity and other tool/web apps, such as Ether Scan, Mist, Metamask and potentially Dapple, Embark, Truffle, etc. Speaker(s): Yann Levreau Skill level: Advanced Track: Developer Infrastructure Keywords: community, growth, scalability, developer, linux, smart, contracts, solidity, debug, vm, etherscan, mist, metamask, truffle, embark, dapple, node, tpp, mine, fallback, donation, debugging, values Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 2 was held in Shanghai, China on Sep 19 - 21, 2016. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/
Transcript
I okay hello everybody I'm very glad to be here today and to present you remix the remix is a delegate or where ever got to that can debug smart contracts so I am young I'm walking for this weave the CPP team together with Christian the anatomy tree bobbin and hike and babble so actually the name is remix we already a devil girl right here it was mix and Nick's was completely integrated inside this BPM suite but we have decided for some reasons to reboot the project from scratch and to start remix I mean the main reason of that was that as the community grows grows and grows it is more valuable now to propose new tools that can be integrated inside other application then to have a single closed application I mean I will prefer say it I will prefer say it okay you can use plug-in that you can integrate in your application that you like to use then to say okay we have read Hemi will be mixed you have to use me you have to use this because it is the only application so it's better to have something that can be integrated in other application then to have some synchros closed so that wise remix is born so we have taunted the roping remix a few months ago basically is just a vm table girl you can see a screenshot here and this screenshot SB tanker has been taken from the atl can integration so we have basic features of vm debugger it's okay we are walking now on having full integration of this debate go inside 3dt so you can debug smart contracts using 3d to this remix has been developed using javascript technologies you can use it using LPM so we can pull RemX using NPM and you can use some modules of remix with node and the main reason of all that is just to give to the community new tools that can be used to debug easily smart contract so this is the integration of remix in 3 DG so we have basic features of an ID like source code debugging that's most earth-like record manager coming soon and like several crackers like contractor rain tracker and as the locals variable striker so we have to part the vm debugging stuff and also does ready 3d doing stuff and I guess that the most interesting part will be 3dt derivative so i will i will just do a short demo to present you our stuff oh yeah all right it's not okay okay so here i have one integration of hemmings inside browser solidity brother 3dt is text editor is a solidity editor that's includes a compiler so we can just write smart contract and you can compile but contract and also it has some features of niid because you can in you can in the right panel here credit transaction so you can in the browser write contracts and then test contract in in an environment so this is not remix this is only brothers ready to sew in which under elements will I will deploy this this contract I can choose and I have two possibilities the first one is to use the embedded JavaScript vm so in that way I will just run the execution on this contract is inside the bottom and everything will be inside the Rossum every transaction will be deployed inside the browser or i can use an external web free object so i can just connect the browser to some kind of external node and i have a note here which is here you can see that on the upper left corner i am using the cpp italian clients which is why i have run this application in test mode it means that i can just mine mine and mine every five seconds here and I come just deploy contract test it without from scratch and so on so don't care about what is on the right side here I just have a node which constant which is concerns constant remaining okay so i can just deploy this contract waiting for us to be mines okay i have two principal methods functions in this contract don't care so much about the code here it's not the principal step that i want to show you so the first is the four back function and the second one is the move fund function so this is a donation contract basically i will i can just give it to this contract and then the owner of the contrite can live draw so meteor from this contract so let's say that i will send 1080 are here okay i will call the fallback function here i have to wait a little bit okay so i have some details about the transaction here but yeah let's skip that for now and then on the right side here i can start debugging this transaction okay can you see it yeah we just okay so now I debug transaction so I have launched remix here which is so modules that roams inside possess ready team and I can stand about debugging my contract here I can't go forward and I can go backwards and I can see here location in the source code well he's do execution going here so i have two important features here the first is a source location as you can see here and the second one is as all to paneras in the right side you can check out here the state of the contract so you can see that the variable just call giver here is going from 0 to the address of the sender etc and you can also check out local variable here ok i will now just call this function here re i have to copy and past stuff here and i will call so the movement function with two parameter the first one is the address where i will send it here and the second one is the amount of a tower so this is not so much now this is only one way ok and i will just call my phones ok i have some details about transactions not important and i can start debugging and then i can throw the execution of the transaction here now i am in only on your motif here here i can check out the bed ends which is recalled behavior here now i am in the two cents in the same function and it will send is successful successful sorry i will just trigger the found moved events here yes sir it is that's readable but yeah okay so i have sauce location inside process for EDT thanks to remix and i have the contract state with all variables that are decoded i have the rockers and i can also up sorry i can also obviously check out some all values like the stag straight changes the memory and recall data ok so that's for the short demo here what's next okay so this is the remix integration inside process validity what's next I think we could easily imagine that remix could be integrated in several other tools today we talked about troffer pepper we talked about FIM studio we talked about mists and meta mask and so on so it's it will be really easy to enter right remix to this debugger inside all those tools because all those tools that I PCD prefer are made for development proposed so I think the good things to have a 3g debugger inside those tools already and it is really easy to use just have to pull the NPM module and then you just have to create to instantiate the object into render remix inside your HTML file this is here sir remix is available as an MPN module but more of that we also provide some kind of low-level tools in javascript also that can be used by ever ability to create new tools and to imagine new use cases for example here you have trace manager which is a tool that you can use to check out some value in the vm trace it provides an API to easily retrieve value from the vm trace you have mapping decoder which provide an API to deal with the source location in this religion tracked you have an HD worker that is used to crawl into work over all the nodes of this radici contract and obviously you have also decoder so you can use those tools to extend your tools to create new tools and to also imagine new use cases with and I think that is really important features to provide api's and not to build a closed application so what we already don't we have already walked on the integration of RemX in meta mask in East if you go in each Afghan you can already use mix now and as I shown you just now you can use also linux inside validity so now this is a personal opinion what I want to keep in mind and what maybe we want we need to keep in mind is the first developing transactions with remix all or other tools can be used to debug transaction that are already committed in the block chain is a private block chain or liberal chain whatever and I think these really nice features because for example if now you come to me and say I en can you debug these transactions in the public blockchain i will have to check out every up codes i will have to check out the vm trace of it will be very very long yeah and so this is why I think this is really nice to be able to dip a concession that are in the main chain so only you can easily integrate remix inside other up and then as I said it provides a low-level API ok what's next we need to commit this walk on the stratum car tracker we need to finish the backbone manager we need to do a scenario builder we need 12 for integration inside the ETA on vm is ESPN and we have to do the mist integration and obviously as his napi we have to do a lot of documentation a lots of the foundations and yes so we had to finish that I would just say that you can go to check those links you can use him it please you can integrate hynix in your application please please please and you can also contribute and I will be very happy if you can just integrate clinics in your application and if you can contribute on improving linux as well because i think it's really important to share and to do stuff together so yet text for listening and see you soon thank you young
Automatic transcript — names and jargon may be misspelled.