New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

The OG Ethereum IDE with Remix

Ethereum MalaysiaSun, Oct 9, 2022, 12:00 AM

We host Rob from Remix to stroll us through Remix, sharing tips and tricks with using its IDE. --- Timestamps: 00:00 ​Introduction & Monthly Roundup 07:15 Review of the Devconnect experience 19:12 A stroll through Remix & some tricks 49:20 Fireside Chat with Rob --- Guest: Rob Stupay is Communications Manager for Remix, where he also works on UI, and writes docs & articles. Rob was trained as an architect but moved into the digital realm decades ago and has been working on Remix since 2017. The Remix Project is a rich toolset including Remix IDE, a comprehensive smart contract development tool available for web, desktop, and as a VSCode extension. Remix Plugin Engine and Remix Libraries are low-level tools for wider use. Remix IDE can be used for the entire journey of contract development by users of any knowledge level and as a learning lab for teaching and experimenting with Ethereum. --- Target audience: Developers and others curious to learn more about an EVM IDE

Transcript

all right hello everyone uh this is the 19th of may uh we're having our may monthly ecl meetup uh today we are lucky to be hosting rob from uh remix uh for those of you who don't know remix is the og ethereum ide um we'll get more into what they do and for you to ask any questions later on um our sponsor for the etl meetup is the scan and without further ado we'll just get uh as far to uh share the monthly roundup thank you and welcome to our meetup it's really nice to meet you so yeah um as usual no monthly roundups i might miss the though because it's been a crazy one um so yeah so uh the first thing that i want to talk about is the disappointment testnet is live and it will be one of the test net that will be available after the merge and um i think it also happens around the same time it's discontinued um um so you i put like a screenshot from peter here about him uh feeling a little bit sentimental about uh replicating the uh test net and also uh some as well so separate testnet is live on etherscan so if you are a developer and you wanna test it out do check it out as well um um and our next roundup is um so there's this trend going on on uh and it's going to be like an air drop season so i guess some of the big um air drops that have happened the last few weeks is from hot protocol and optimism so if any of our members here and and other listeners that have used these protocols maybe you guys can check it out um um i've also included some links uh if you want to try to see your try to test your luck whether you know you could qualify for other api drops but of course don't use it for the airdrop you know just use it because i think it's a great onboarding uh place for people who are out priced by uh indicator minute so personally when i want to onboard my friends into a crypto i would just recommend them to just go straight to later and you know you might even be rewarded by it and another big news announcement is coinbase a coinbase p has launched so um um and their first integration is with metamask i haven't actually seen it yet um so you uh you will allow uh adapts to um make it easier for your users to pay or transfer crypto using fiat money but i believe that you would have to be kyc by coinbase press and i'm not sure that that would apply to everyone in the world but i do remember that there's around 100 million uh people that have been kyc so i think it's definitely like a big play and it'd be very interesting to see and um yeah but i think they are very well positioned for this so if you are a developer you do have to apply for the uh for the upcoming speed sdk um so it's not available for public yet so it'd be interesting to see what you can do with this as well and um yeah so cloudflare and boxing that three so actually given to this day i'm not quite familiar with which part of the text that cloud is and i think nick i'm gonna put you on the spot here i think you shared this news with me if you don't mind maybe you can share with us a little bit about uh what this is about um yeah so cloudflare is basically the thing that prevents you from getting ddos pretty much so it helps to it's one of the major like um what they call it we call it content delivery network that's the technical term for it but essentially it helps to make sure that your websites can be accessed fast throughout the world so it's very interesting to see that they're getting to like battery networks and they are openly saying that they want to get into looking into ethereum and all this other stuff right thank you nick um so the next thing is um instagram interviews nfp um i actually found it uh through my friends who who sent me a bunch of vms um but interestingly though um in one of their main um uh messages they will not dock your address so you actually uh so if you uh manage to find an nfp post on instagram i think it's only limited to certain creators for now you cannot actually go to the address maybe not yet who knows um and i think that's only like a few selected nft projects here but i think uh you might see like a wider adoption of nfps on instagram and it'd be interesting to see whether they will um eventually integrate the marketplaces here and to see which marketplace that they would choose but i have actually seen these other people's on my timeline yet and then and um probably like a trigger warning before the next uh a little bit about it so yeah so um there's a big defect that happened with luna play with usb and that cascaded to like luna's collapse i think around 100 billion was lost in the day i think i might be wrong um i know my friends also have been affected by this and if you are affected by it um i hope you stay strong i know um are uh other things in life um other than just crypto you have to go out talk to your friends play sports do other things but yeah if you are affected by i hope you are well and i think now the conversation i don't know how uh will therap recover this project and there have been a bunch of proposal that has come up i haven't recently followed much um i think it'd be easy to see whether this community uh will go next but they definitely have a lot of builders in this community and last but not least uh our local news so surprisingly uh uh i we i definitely did not expect it so kfc launched their um nfp project so if you are a holder you will actually get a 20 ringgit off monthly for a year uh yeah because i checked uh yeah um uh so yeah it's pretty cool and the way that they are going to reach out to you is very interesting they actually use block scan chat to actually reach out to the nft holders so i think whoever pitched and executed this nfp campaign uh i definitely would believe they could put that before to figure out the whole thing um if there's any kfc nfp holders here uh you can ping me maybe we can share some discounts uh yep second that's what i have back to you all right um thanks as far so uh next we will have uh nicholas and i think as far as supporting uh just to share some uh learning some uh experiences from joining uh dev connect in amsterdam um last month uh nick you wanna put it forward yeah i need to share my screen which we didn't test earlier actually okay can everyone see my oops let me throw it in presentation mode yep okay see the camera inspired title yes it is okay so anyone who is anyone who went to dev connect feel free to join me in this in the pictures lecture later on okay so um devconnect is an event that is the lead up to that of con so essentially it's a it's pretty much like etl where you meet up with all the most og people in ethereum such as um remix remix was there we met some people there um lots and lots of the ethereum foundation people projects such as polygon polygon what they call it layer tools like arbitrary optimism were all there so it was for one week in amsterdam netherlands we flew there and i think we only stayed for the first week so we actually missed a little bit of the events that happened in the following week so one of the most interesting things that i found about this event is that they had a decentralized event event format so let me show you how that kind of looked like can you see if i switch tabs can everyone see yep okay yeah so um something very interesting was that there were many many concurrent events happening the same day so for example in the first day there was um either day and at the very same time there was battery ux conference dao gatherings and all that so what it essentially means was that it's not possible for you to attend every single event during the during devconnect so that means that um between all these days all these events on the same day you have to pretty much prioritize what you want to actually learn and what you want to um the people you want to meet out of dev connect so i feel that was good because instead of having a 1000 plus event 1000 plus person meetup you can keep it pretty small until let's say 200 300 people in a space and it's very easy to go about meeting other people um yeah so some of the other events that we got to attend was layer 2 which was all that all the events like optimism i betrayed boba there's a lot of names i'm gonna miss and then [Music] um build space we met them as well okay there's actually a lot of it so i don't think i'll be able to cover every single one of these events but yeah this was the format of devconnect and i would say even within within ourselves we could attend at a maximum two events per day so let's say on thursday let's say you you would be able to attend bitcoins meet up and then run off somewhere to let's say attend start on that bootcamp that's pretty much it so you wouldn't it keeps groups very very small for you to be able to meet everyone and know them well so coming back to my slides we just have a little bit of a photo slideshow here so everyone who went feel free to join in um the first picture is um we took bikes pretty much to every location in the city um so besides having a decentralized um event schedule the location of the events were also in very different places in the city so one could be at this building one could be at a co-work space one could be across across the river you take a ferry and something cool that we really appreciate was that they provided bikes so we could go around very very easily the second event here in the middle is i think it was easy day right should be yeah so if there was um this this specific one i think it's tim timbeko from the ethereum foundation it should be i can't see at this point but yeah the first event that we attended was it day and it was a very very big roundup of the most major things happening in ethereum the merch merge eip159 a very big topic was gas prices and yeah and one and something good from each day was that we got to make a small presentation that is higher in the middle and we presented a little bit on the newest things coming to eat the scan next we have oh yep next so next we have the picture on the left was l2b so autobeat was the kind of the roundup of all the latest layer 2 people and what they're up to um the people we met were boba stark net start where is that correct name yeah and also optimism arbitrarium polygon and they were presenting a lot of the latest developments in year 2 like their like um sharding and all lots and lots of different things there the picture on the right is the venue so this was the venue that i think was across the river oh no it was not this one was just a different location but this was how it looked like on the outside next is the amazing amazing co-work space so one thing we really appreciated about devconnect was that we had a very very big co-work space to meet people that were not in the events or just hang out and chill and on the third day they even had a hackathon which i think some some of us attended and we were able to spend time together food was amazing there and i think that's hard in the middle yeah so the one on the right is a similar photo that's inside and i think this these photos just can't justify how big the place was but yeah it was very it was very very much appreciated from the devconnect team uh next is on the left is this should be [Music] if i'm not mistaken economics if i'm not mistaken i can't see there's usually the banner on the right so economics was also held um by the ef so they also had presentations on oh by the way economics is not related it's not discussing about the price of ethereum but it's more of it's more of a discussion on how do you efficiently reward people who are building an ethereum space while at the same time maintaining like open source um code and all that on the right was another event happening concurrently which was amsterdam i think we were not supposed to be there but we still we we still checked it out anyway all right on the left is git coin so i'm sure many of us are familiar and some of us here even fun projects with bitcoin they had an amazing shelling day where they invited the most the biggest projects to share what they've been up to and some of them even share how they were using bitcoins funds and um proposing the best ways to get funding for your projects on the right this is definitely economics because i saw the i see the logo there so it's a similar one to the previous the previous slide this i can't oh sorry i can't be sure now what project that's part of sorry guys okay next was one of my favorites which is miv day i think that was very very amazing they had a very dark stage so which um kind of emulated the dark forest concept of um of mev in general and the the person presenting here is georgios from what they call it paradigm research he was the one who does a lot of like mev adventures with like sam ccsun and all that uh very very cool to meet him in person and every day was even like very mysterious in a sense that some people who were even there they didn't even come into the conference hall so that they presented from somewhere else and then they were actually there in person you just didn't know that they were there so that was very very cool yeah mmv day was a roundup of the latest things happening in in mv such as one of the hot topics were cross chain crosstrain mvv the state of mev how much is being extracted and how it's happening on newer chains and all that i think we might have an er we might have an mev team meet up the next round if harris gets it okay and then on the right is just um some some more general photos of the city of amsterdam in general it was amazing and this is i think the central station so very very cool place yeah this is more just some general photos from the city very very amazing place if you have a time or if there ever is another dev connect another event there feel free to go about it so for everyone else who didn't get to attend the event in person we left you a little bit of goodies which is a link here i'm gonna paste it i need to go out i'm gonna paste in the chat so this is essentially the recordings and notes from every single event or at least most of the events that happen in dev connect so let's say you did not you did not get to attend devconnect events such as mvv-day l2b on person but there is a recording for pretty much every single session there was there um let me open the link actually there is at least i would say 100 hours of recordings here so i would advise that the best way to go about um learning this and reviewing it is to choose a topic that you're into and then you can review you can fully review them in depth because um if you were to cover everything you would get very overwhelming because there's a lot of topics a lot of them get very technical and there's a lot of it packs a lot of information in every single one of these um events does anyone from devconnect want to add on anything uh yeah so i think we a bit longer than um planned uh so if any one person wanna share like one or two lines uh we can otherwise i think we need to uh move on okay cool chuchuan says it's time for defcon yeah defcon is happening in bogota this year in october anyone is going that will be fun yup and um uh on that note uh we might we cannot uh emphasis on might uh no guarantees uh but we might be able to get a couple uh uh slots uh from grants or sponsorships for people from the ekl community to uh just go to the connect person to defcon so yeah if um we'll kind of confirm that closer to october uh but yeah keep an eye out on that and you know remain active and contribute to the community all right so uh thanks nick for that and i think all right uh kept rob ready for a while already uh thanks for your patience rob and i am going to [Music] uh see okay and how long do i have a half like until you go till uh nine o'clock or uh so roughly like uh half an hour for the presentation half an hour for the chat but you know we're flexible okay uh let's see so uh do you see my the presentation now yes okay so um yeah i'm gonna stroll you through some uh basic operations and remix and show you some tricks i didn't put the yes there on the tricks but uh let's see okay oops here we go so uh going to go over getting started and introducing the interface uh loading plugins compiling deploying to different networks transaction receipts fine and then some other parts like learning and where to get help how to collaborate uh importing code from other projects and checking out the debugger and a few other basic uh plugins and how to play to multiple chains uh and also some basic uh understanding of remix uh in fact so maybe i'll jump right into remix itself uh here it went whoops oh gonna move that thing how do i collapse the uh hi video panel is that that oh you still see me i mean hear me yep yeah okay okay so um when you come to remix actually when you come to remix you're probably in the dark theme so um uh and actually if my screen if you can't read things on my off my screen i can make it larger like that if that is easier to see but anyway you um you probably see it in the dark the dark mode so first i'll introduce you to themes which are in the settings panel which are down here and um so um but you'll come here this is the home tab and these are featured plugins uh these are over here are links to our medium blog and our twitter feed which is important for you know when when our next releases are happening and other kind of uh announcements that we do uh so it's good to subscribe to both of those um and um there's some you can load files or both down here there are links to our chat and our getter and uh documentation um but mostly you'll be you'll see um this thing called workspaces in the file explorer so um okay i'll make a new workspace and here's where you'd name it uh today 's workspace and here's some default files and um so the contracts go here uh just kind of um you know test files and scripts are here uh and um dependencies when you compile a file or go out and grab your dependencies and stick them in the depths folder and then to create a new workspace that is up here then to create a new file it's down here um and when you click on one of these files it opens up here these are kind of default files so you can if you don't know solidity you can you know start with these files to start understanding the general processes and also these kind of comments in here are called nat spec and you can use these to communicate messages to other developers on your project also to users uh it's important to fill out your netspec comments and you can learn about more about nat spec on the solidity documentation site and uh so you take a file and then you can compile it over here in the compiler uh you know by clicking that you can also click on auto compile so that every time you type a letter it'll compile it but sometimes that can get annoying but if you're back here and you uh do a control s it will also compile it and um and also like if you uh add something here that's uh not gonna work and you can pile it you'll get an error and if you click the error it'll tell you that this line screwed up but actually it's because of this line has that little screw up there um and then uh then when you want to deploy let's look let's do it again so we'll uh we'll compile it with a controller s and then um and uh here you can publish your your data on ipfs or swarm get your compilation details and the links to the api which is important if you want making your dap you can just get that and it'll copy the api from the compiled contract and then when you go to the deploy and run you here the environment section is what chain you're deploying it to so if you click that there's all these different uh chains but injected web 3 means metamask it's not totally clear but that's what it means and web3 provider would be like if you have a local node running you'd use that and hard hat provider is basically the same thing but you're deploying to the hard hat chain and ganache is if you got a ganache and you can connect with wallet connect which is really cool so that you can approve transactions on re telephone um you have to uh i think that probably automatically uh loads the wallet connect plug-in let's see if it does yeah so you need to put your infuria id in there and then you get the normal wallet connect interface um so this is called the main panel plugin because it's in the main panel where the editor is whoop come on go away uh okay it's not gonna go away uh and then uh this is the side panel and this is the icons panel um and uh let's see go back to this one so we want to um uh deploy to just the local chain that which is in the browser so when you deploy there you don't have to approve any transactions it just uh it just goes through because it's kind of you know a simplified blockchain and here's all the accounts and um so having done this we when we open up the deployed instance over here you can see um the two functions here also if you want to grab the address you copy the address here and that will copy the address if you want to use that address for something else um let's see and so uh right now because this is a this is a uh non-payable function but it it costs money to uh because it's saving you the new address on the chain uh it will cost so that's why it's in orange but if we make it into a payable function it'll be read like change owner public payable and then if we go back to uh let's see compiling it by control s or just went back here to pilot and then we uh deploy it again and it's a it's below each successive uh deployment happens or instance happens below so we close this one and open this one and now this is red because uh this is payable and then to add when you do a transaction with a payable function you add the value up here not down here so you wanted to send like a 55 way and um we're going to change the owner so we'll give it a new owner and we'll copy the owner go back here and then put the new owner's address but we have 55 way is the amount we're sending with it and then when you click that you get this transaction receipt down here here we'll drag this up and this is the transaction receipt and um you can see this transaction hash uh the two it's to going to the contract and you can see that that the value here is 55 way it's important to you know be able to see what's going on in the transaction receipt and here's actually how you get right to the debugger um so uh maybe i'll just show you quickly the debugger now so you click that and it has the transaction that we're debugging and uh it goes right to that part of the transaction um and this these are just you're stepping through the different op codes when you're going through the step and this is to jump to the next break point when you put a breakpoint somewhere here uh so it's kind of like basic um you know debugger operations the important things to know is like this here the solidity state is the current owner and um since i changed it i think we'll see the salinity local opening up uh yeah the local just got filled up here that's a new owner okay so um [Music] where should we go to next uh let's see so there's a search that's the new feature in remix now so you can search all your files in your control panel and uh also when you come to remix here let's close all this stuff to deactivate plugins you can just right click on them to deactivate uh so uh when you come to remix maybe for the first time you just see these three plugins and if you click solidity button here you'll get a few more because this is for the basic solidity um environment it's more than just a plugin these are featured plugins so they're just going to load one at a time and um let's see so uh oh yeah so the plugin manager is very important to know about too so this is where all the plugins are listed all the ones that are activated are on top and then the ones that you have yet to activate or down here um and um so if you don't know like uh say suppose you're on the salinity compiler and you want to know like what something is over here um you can click that and you'll bounce to uh our documentation page and this is the list of the all the documentation so whenever you're um let's see how does this work i bounced out a remix uh maybe it's over here wow that's funny never did that uh let's see that should be here or over here i don't know how to change tab tabs when it's full size okay um so all this those icons and all the panels bouncy right to the documentation um and uh and here's a unit uh static analysis and unit testing if anyone does unit static analysis with um slither we can now if you have slither running locally you can you can run slither through remix as well so let's go back to the slide deck for a minute so i guess uh oh yeah so transaction receipt verifying um let's go back to that i'll show you there's a couple ways of verifying one is when you uh when you publish on ipfs when you compile a contract like um this one and if we're connected to uh a test net uh i guess not rinkaby anymore uh well you publish it here and then there's a surface called sourcify which is going to go through all the main test nets and and mainnet and um and verify contracts that are uh deployed and then and have their uh um metadata and sourceful files on ipfs so it kind of it's like a kind of passive kind of uh contract verification so just by clicking uh publish on ipfs and if you publish and if you deploy to some public network uh your contract will get uh verified um passively on sourcify but you could also do it actively by using uh the um sourcify plugin here or the etherscan plugin uh there and so um oh you have to enter your api key and then you can get the interface and in sourcify you click the verifier keep uh button here and then um you know put the contract address and you have to choose of course the right network uh and um let's say going back to uh let's go into uh let's go to the slides a little bit see what i put here so often you have to learn things fast and fake it till you make it uh so there's this um plugin called learneth um and um here let's well i'm just going to do this live let's go to learneth so typing up here learn myth and we'll activate it so the cool thing here is some new courses we put in like the solidity beginner course and it it's taking uh you know if you guys guys know uh solidity by example um the uh that site most of these are are examples uh taken from there and so uh you get a a contract that loads automatically here that's associated with this um this lesson and then uh it gives you an assignment and then it'll check your answer if you check your you can you can get the right answer so this is the correct answer um and then um yeah and then you can check your answer if you go back to the one that's not right and you can do it because we did nothing it's gonna [Music] check it and it's gonna show you an error error um so uh but the cool thing so so going back here to learneth uh the um solidity class the erc20 class the nft course and the auction are the new and they they're all using this testing feature so that they'll test your work one step at a time um let's see so one really important thing in remix is understanding that it's not like google docs so there's not like a server saving your um your files it's all in so it's important to know that the browser because we're using index db very large amount of a uh amount of storage capacity but it can crash and then you lose your work so either you should use remix d which is a daemon running on your uh hard drive or you um and then you connect remix d to a file on your hard drive i mean it connects remix the website to a file on your hard drive or you use dkit where you can save to um github here also um if anyone has any questions uh i can't see the chat but um people can just interrupt me too as i wrap it along uh are we talking about we'll ask you questions uh afterwards okay uh so here i'll just load up um uh digit actually it might be a little bit easier in the slides here right so if we go to so that's um probably connecting to that's how you connect to uh remix d is in the workspaces you pull down if you use connect to localhost uh you'll get this modal that gives you the instructions about how to connect how to get remix d running locally and you have to uh it's a package from npm so you download that package and then you run it and then it and in that command here you specify the path the to the folder you want to share and then you just run that and then you can have remix running on your connecting to your file system and then you of course you know you just use get for version control locally but uh if you're using a d-git you get this panel and then you can once you put in your github access token uh you can clone a directory and then so you can just go around and sample people's directories and get them into remix very quickly and you can push and pull of course to your own repo and then uh and you know share and collaborate that way um what else is here uh yeah so this is pulling in uh a grid mix which is a and it and when you when you create a when you pull it in a a when you clone a repo it makes its own workspace over here and the name here isn't so great but you could go in and you can change the name of the workspace so you could identify it a bit better um so let's whoops go back here to these just a minute oh yeah and there's also a diff here so that as you're making changes um you can uh you can see the diff which is uh very important and cool and then uh you can make it just very easily you know if you have trouble with something on your computer on a file in remix and you want to ask someone for help you just make it just by uh right clicking and you can publish the folder to adjust or you can publish a single file to it just and then just give the person that url and they can take a look at that file and there's a for explaining your work to others there's a nat spec and heath dock so you can explain your work in the e in the nat spec comments and then using this plugin called ethdoc you can generate a you can generate a documentation of the contract um okay and um so the other thing to note is like uh on the home page these are for importing files you want to um interact with uh not for f not for dependencies and um and when you want to load a dependency you do that from the file just using the import statement and it's going to if it's in on npm it's going to remix will go out to unpackage uh which is a service site and it's going to grab the package from mpm and install it in remix so you don't it's that's a the way to get your kind of the dependencies come in automatically or if they're local you just put the path for the local dependency so so you should all know especially beginners about this open zeppelin wizard and so if you just want to take a look at a open zeppelin's the coin contracts um you can kind of it's a kind of no code or low code way of deploying a coin but uh you can when you click the open and remix button it brings it into a remix in this workspace called code sample and then from here you can just compile it and it's going to grab these contracts from unpackaged so and it's going to put them in the dependencies folder and then you can start playing with your start learning uh these how to use these contracts and uh you can if you if you're working with hard hat devs uh there's interoperability between remix and hard hat and remix and truffle so you can choose um you know uh how to compile to add the uh config file when you enable this it'll enable the config file for that will make it readable to hardhat so you can go between the two uh and then you can of course deploy to the hard hat chain this um you can um also do this with uh truffle now uh and uh what else we got here the debugger so we've been through this already and we've been through uh oh yeah so the cool thing here is um i'm gonna just grab this transaction hash which of a this is a i just grabbed this from etherscan uh yesterday and it's a transaction hash of a verified uh contract so then when i go to um remix whoops come on i got a remix and i go to the debugger which is uh not up here yet so i get this i think it's on main net so i've got to switch to mainnet so i'm going to go to injected web 3 and then i go to i've got to go to metamath which oh here i guess we're going to have to um that's weird i can't see it this way oh because it's at the top of the browser come on uh make sure you don't dox any uh imported wallets yeah what make sure you don't dox any of your important wallets to us yeah uh so now it's in the main net but uh we what we're gonna do we're gonna um uh go to debugger and we're gonna stop this we're gonna go over here and we're gonna start debugging and it's gonna uh pull this i'll make this already in here anyway it should pull it in from uh etherscan and i think it's not right now because i think this has already got pulled in um well i think it's not so important you guys should play with it it's really cool because it'll check first it'll check source if i for a deployed um for the uh verified contract to see if it's there and if it's there then the contract will come up here and i think as you scroll around here well this is going to work uh it should work oh well i guess um i guess i'm not gonna demo that well today but uh check it out it's an interesting feature and back to the presentation oh yeah and we have console log which is um uh which is a hard hat feature and you can see that in um in the default contracts now uh which is um here in some of the in this one anyway uh there's this um import console hard hat console and then you can put console logs here and then your um this one's going to it's going to you can have a console log every time you deploy it uh so that's good for you know understanding what's going on in your contract [Music] and then back to so deploying to l2s is really simple in remix because you're you're just um yeah just go back to this you know you just you select the the public test net in or the public network in metamask so um all that stuff happens in metamask so it's uh pretty simple and then um to get onto optimism this is just showing how you get it uh you can or for the optimistic uh test net uh you gotta there's a bridge from the coven to uh to optimism and um then you just deploy there as soon as you get some optimistic uh coven i think that's it i mean um we can go on to questions now right uh thanks rob um i think a lot of stuff there we probably have to check the recording later for some of the tricks that you've shared um so yeah we have about roughly half an hour left in the meetup and generally what we do is we ask questions whether on your presentation or just in general about remix but i always like to front run any of the questions that the others have asked usually i'd like to ask you to share a little bit about kind of your personal journey uh how you entered into ethereum and then maybe um the story of remix and how it got started uh let's see well my background's architecture um and um but soon after architecture school i wasn't getting much chance to design anything in architecture offices because i could use autocad so i was getting annoyed and then i started making websites and uh and programming to pay the rent so i was basically like a web 2 developer that became web3 developer um and uh so that was and um uh some long-lost friends from uh college uh introduced me to ethereum and remix itself started uh let's see i mean it kind of grew was part of the solidity team it was called browser solidity at the very beginning and um and then i guess around 2017 it became its own team and um so it was actually at the very beginning it was uh it was just thought of for uh testing contracts on very quickly and but then uh people we started realizing like actually people are actually using this to deploy domain net and the tool has been kind of like you know it's interesting because it's used by experienced developers to to for production but also to but also beginners so it has this weird um bifurcated audience um and you know some some people are using it just because they like to use a gui and uh others go between remix and other tools and um there's also there's we were adventuring into in a uh a remix vs code extension and there's also a remix desktop um so there's ways of using kind of different flavors of remix but those are getting kind of um further developed as we go but but for for those who may not be aware like oh why create a web ide um or solidity back then like why not use uh your vs codes and and things like that uh well on one hand it's there's nothing there's no setup and also there's the buttons to push so it's very visual and it especially for debugging it it's very helpful um so i mean the fact that there's no setup or that it works on windows because setting up you know some frameworks on windows can be tricky uh it you know it gets people going much faster than they ordinarily would just to get right into the solidity code um you know there's some as remixes developed you know the the id just working in vs code is what people are normally working in so uh you know just staying in vs code has certain advantages definitely and getting the eye the online ide to be as good as as code may be an impossible task you know so um but there are other advantages to using it but you know there's a kind of um uh trade-off yeah okay um so just one last thing before i jump to a couple of chiranji's questions uh um kind of like a at a high level um what is the kind of business model if any of remix and and org structure uh how is it kind of organized as uh well i mean we're a team of about seven of us um we're founded by the foundation so um it's not like there's a business model in that sense of trying to bring in revenue but um you know we we need to stay uh uh current with what's going on and keep the tool in good shape and uh we're always adding new plugins you know so like there's a stark stark net plug-in so people can compile cairo contracts uh and um there's you can compile you can deploy to other chains from remix um and different there's a couple different compilers uh so um and also like like we had a plug-in for optimism and we were going to do one for our trump but now it's so seamless we didn't even need it you just manage everything in metamask oh there's this other plugin uh that i wanted to which is going to be developing where you can have the same you can deploy a contract with the same address on multiple different chains on multiple chains you can't you have to deploy them one at a time but if you use the same salt it will it will deploy using the same uh address so it's kind of cool for development cool okay so before i uh miss uh sure on this question is going to ask me here and i just know uh anyone who wants to ask questions feel free to drop it in the chat or if you'd like you can uh raise your hand and i can unmute you for you to ask your question verbally as well uh so juranjit's first question i think was uh could you explain runs for optimization not very well uh there's a there's a link in remix wait let me see if i can find it uh to um i think it's in optimization runs if you go let's see where's that i think it's um in the solidity compiler where is this you know what i'm gonna make this uh either there's a link on the solidity site about optimization runs on uh um let's just say it's called um uh it's not solidity by example just solidity language uh read the docs um but i think we can uh try and look for it afterwards um or if you find it you can share it and you can share it yeah there should have been a link i'm gonna i'm going to make a note because i'm updating the documentation a lot these days and that's something that needs to get explained but basically it depends on what your contract is doing um the number of runs uh can be uh can you know i you can optimize something too much basically and then it's uh functionality breaks down uh and so it depends what you're doing so you can you have to find that balance between uh um uh you know the functionality of what you're trying to do uh and i'm not gonna be able to explain it well so check that doc all right thanks um so and then the other question was um uh you shared some but are there any other hidden optimizations or tips on remix such as like any super shortcuts or cool features uh well there like when you're i mean a basic understanding of gas can be done by uh uh at the in the transaction receipt it shows you how much gas is used in that but there's also a plug-in called gas profiler and it will uh show you the gas and it will show you the gas usage per line of a transaction um so that's cool uh we did some tweets recently about um the shortcuts like uh i believe uh control with control s is to compile control others uh there's this new feature called uh compile and run where you can um have a script running and so the script like is really cool for uh setting the state of the contract and um so you want to write a few lines and then make sure that the contract is you know test that part of the contract but often you'd have to keep pressing buttons to get it to that state uh so with the script you can like push one button and it will compile it and then it'll run the script and then you can see how it worked and then write a few more lines of code and just click that so each so i believe that uh the key binding for um compile and run is control [Music] uh f but uh uh what else i forget another they're like four key bindings uh and there was a tweet recently so if you checked our recent tweets from like three or four days ago they'll be that all right um so um are there any kind of like uh set ups that you've heard about or you use yourself like any sort of uh integrations that you generally use um when you're deploying contract you mean with remix and other tools yeah yeah what are the integrations inside remix that that you use um in your own like developer experience no i think i mean they're different plug-ins i like to use um and uh yeah i mean i like the the um uh unit testing plug-in i like unit testing in solidity just because it's i mean it's a little bit uh it takes a little bit to get the hang of it uh more than using a mocha test which is a kind of new thing in remix now that you can use uh javascript testing inside a remix but um you can but the kind of uh the basic one is using uh solidity tests and so um just it's kind of more pure to do the testing in solidity okay uh then um and actually on occasion i have used uh the tenderly plugin to just do some tenderly uh analysis there uh well and the other one which i'm trying to get to i want to learn this but i haven't yet is there's a zk snarks plugin called uh socrates and um so it's kind of getting your hands dirty with uh understanding the concepts there yeah i think zika is a whole new world for a lot of us um tc asked um what are some common mistakes that developers usually make when they're writing smart contracts and ways to avoid them i think it's a very broad question but yeah you can give some of your favorites um let's see if i can get remix up just a second basically like in the here i'm just going to get new remix window up um uh when you're when you deploy a contract um let's see i just uh okay it's not going to be that interesting uh i'm not sharing my screen but here maybe i'll show it briefly so like uh you got this contract and you're gonna compile it and then when you go to deploy it right now there's it shows two contracts here uh and sometimes like if you especially like if you import something from open zeppelin uh here maybe if i go over here are you um today's uh except yeah i think this has it oh it doesn't oh well okay uh if you're here and your contract's not compiling it might be because uh oops we lost the compilation oh yeah so you come here your contract's gone because there's nothing compiled um and uh so you gotta get a contract up here oh it's good because i switched workspaces i switched workspaces everything disappeared so uh that's something actually one way is to find that what people usually do is just watch me bumble around here um and then uh but you have to make sure the contract here is the correct one that's a common one uh another common one is like when you're trying to access a deployed contract uh and you put the contracts address here you still need to have the contracts abi and you need to be connected to the right network so um if you have the contract deployed contracts api you can you don't need to bring in the source code you can just access it with the add address but if you don't have the api you're out of luck for using the ad address those are two common ones in the deploy and run um uh and uh so often people get out of gas um error and um that can be due to something in your code that's not correct so uh if you have an out of gas error you should check your code because it may be just throwing this out of gas error because um i don't know why but it should be uh but there's a problem in the code those are kind of the classic ones all right um yeah so uh chichon asks um a question on any plans to support sircom and and maybe i can generalize that also to just like how how does a remix approach uh the idea of supporting uh other languages out there well there's viper there's a viper plug-in already it's just um um i don't i don't know about circum i mean i assume uh or i should say i've just started hearing about it as another way to put it so uh if it's something that uh people are interested that we can look about making getting a plug-in made for that you know we're always looking for new plug-ins and new plug-in developers and if there's a team that wants to make a plug-in for remix it's pretty straightforward and we may be able to you know fund you for that development process um or if you want to push it um you know i can push that in our you know in our team chats um but because you mentioned like uh you know you support uh uh cairo um and and you started out as like from the solidity team so is there any kind of uh guide that you use to decide which um to kind of like look into and support or is it just based on kind of the general rough feedback that you hear from the community yeah it's based on that i mean most people are using solidity but uh it's important that um remix works with other languages but right now the cairo like the cairo plug-in it's a kind of an early stage of its development so um uh i think the next iteration of it will be much better um and um uh what else uh um but yeah it'll be good if we get other compilers in here um and related to that like how do you see uh these other kind of like evm forks that are coming up like the different flavors of zk evm uh the uh i think there's like optimistic roll ups generally like um change the evms a little bit does that affect remix at all at the moment no uh because uh in our discussions with arbetron and uh metis and uh optimism uh it's the same solidity code um their flavor of it it doesn't doesn't affect remix uh if it does then maybe there will be a different compiler and uh any of the zika evms uh well i mean there's darknet and um and that's as if it's a different language so um but other than that no i mean i guess to the extent that arbitrage is bridging it um but uh that one's seamless at the moment so yeah okay um and um without being like political about it i guess but i do want to ask like uh what are your thoughts on all these sort of the mushrooming of uh these different evm chains out there uh in in one way like that's like a lot of different uses of uh remix potentially but are there any um issues challenges that you face when uh sort of different evm chains uh come up and people create depths on top of these chains no actually it's funny from our sides like we see like where people are deploying it's like oh i didn't know people were deploying to uh that chain or uh like it's very surprising when we look at our stats yeah are other stats public by any chance yeah okay where can we find it they're on the matamo but i made a i made a blog post i mean the easiest one to read is uh blog post i did in november um and then uh but they are they're public on um and i think that it should be in the it's matamo ethereum i think but if you in um uh wait so you're in remix and you go to settings and there's part about matamo and uh oh yeah there's a link to the medium article and there's a link to uh matamo but in the medium article there's a link to the stat site on ethereum so if you go to the settings in remix you'll see the link to uh article about matamo analytics so that's very interesting i'm i'm imagining uh maybe one or two degens here like even kind of using that to inform them of uh what she into uh to look into ah that's an interesting idea uh yeah although you know things can always be deemed um uh yes no i mean i'm due to write another uh post about how people are using remix and maybe i'll definitely include that stat about numbers of people but it's interesting it's about 30 000 people a day using remix do you have any kind of like uh benchmarks that you uh that you were able to compare that with like i know number of devs using um some other framework or something else out there um not off the top of my head i might have put that in that article uh or um or the total number of uh solidity devs out there there's kind of rough estimates of that um i think but i mean the use case is a little bit different because most you know everyone's using remix to learn on production it's it's a much smaller portion yeah and i think that's still very far away from uh i think joe lubin's uh was it five million uh estimate um i think it was i think it was about a hundred thousand two hours like i remember it was a very large number yeah yeah yeah i mean no no no not his number but the number of total number of actual devs uh yeah uh so 30 000 out of 100 000 you know even with regards to it being a beginner kind of platform that's still a substantial amount yeah cool uh okay and uh tc here i think asked a follow-up question uh to an earlier one um do you think that smart contract audits uh today uh are an essential process before uh any public release of contracts given there are all these defy hacks and exploits that have been happening yes it's a good business together and auditing everyone needs it i was gonna say like a lot of uh any any are there any auditors that you can recommend just because there is a a very uh like a big lack of supply of them at the moment uh i mean at this uh remix event in in uh amsterdam there's a group from the graduates of university of british columbia uh there's ones i know offhand um just because i'm kind of friends with them but uh so you should maybe ask them but beyond that um i don't have any recommendations really because i don't i don't tend to run into too many auditors in my job so yeah yeah they are a sort of a very rare find right now at least the good ones yeah um i mean of course there's the big ones like open zeppelin or but but those who probably uh cost you quite a lot and are probably hard to get yeah and also there's a delay of a few months before they get to it um all right uh then kind of um you mentioned you know you're not a for-profit um and uh people like uh vs code uh is it's already uh out there and a lot of people are using it uh have you thought about like uh what would be uh remix's position compared to like other online ides uh that are already there or are coming up like one immediate example is uh uh replicate i don't know how to pronounce the name but like you know they're from the web 2 world and they've like uh entered the web 3 world um so any thoughts on that front i don't even know about them oh actually what are they called uh like um yeah uh johan just um put them in the chat um so yeah yeah i'd be interested i mean the other thing is that remix is you know it's open source so a few projects have um you know uh forked our code uh for their own uses uh kind of you know um which is sometimes fine and sometimes it's open source so what do you expect yeah it's uh that's the decentralized uh world um right and uh yeah so uh coming up to the last uh ten minutes of the meetup uh if anyone has any questions any more questions feel free to ask and uh i also just wanna ask like kind of like uh going forward what is the the future plan for remix like uh both i guess on the financial side like uh is it getting uh grants from the ef and also on the product side like what direction you want to take remix towards uh i mean it's an internal ef team so it doesn't it i guess i mean the funding mechanism is we have to prove ourselves each year for the funding and i don't i assume it's going to stay inside the foundation but i guess theoretically it could get moved outside um uh in terms of its direction i mean the the other things that we might start developing is uh because we have remix desktop and we have remix the vs code extension uh and or in the talks in the next few days about how to uh integrate those so that maybe you're going to be coding you could if you want to use in the desktop environment you could code using vs code and then move to the desktop just for deployment and and or maybe compile compile and it's easy enough to compile in vs code but you could deploy with using remix desktop and using the other remix tools inside of remix desktop remix desktop is a electron app and so uh and it's using all the same plug-ins as remix it's just operating off your desktop um and so um so that's like uh kind of getting the desktop remix experience going is is one of the next i mean we we have it going but we want to refine it because we kind of want to try to see if we can get these two flavors of remix desktop and remix the vs code extension to be working more uh together and have and uh the other thing is like uh there's um you know tools out there like foundry has solidity unit tests um and you know like if there are unit tests if everyone's going to be using those solidity unit tests and not hours maybe we should just use theirs or you know maybe there's a use case for our unit tests but make it simple for people to use theirs inside of remix or if not a way to you know bridge people using remix but be able to test outside of it back in so there's kind of like a interoperability issues that are need to get refined as new tools come up uh tc has another question and uh feel free to answer or not answer as much as you'd like the question is given ethereum's scalability problems uh do you think that led to uh as an approach could be finally be the ultimate solution uh to resolve all of this without sacrificing security and decentralization i don't know i mean it's it's definitely like the short-term solution uh i mean uh but even given you know it's it gets very complicated quickly like which l2 do you use and then if you want your your users have to be other users of your dap have to have the currency of that l2 and then bridging it back and forth the calculus of how to drive how to organize a project using an l2 is really complicated and involves a lot of like involvement of your community of users um and maybe the community of users needs to have like a lot of because they're probably uh you know eventually gonna have like four or five different l2 currencies just to do transactions with some dap or maybe they pick one uh you know or even like um you know deploying an nft like you do you want to you don't want to pay 500 dollars or whatever the gas fees are to go on main net it's like an open c or something and then you so you there's like a few different flavors of open sea there i think there's a uh polygon version i don't think there's a a normal l2 or roll-up one but there are other versions of uh nft marketplaces on different nfp platforms on different l2s but of course they have very little audience and in fact in our workshop there was a nft example on starknet um and um uh so i mean just taking the nft example it's like a it's a lot to organize both on the code side but also on the user side probably harder on the user side right uh yeah so the answer is we'll find out uh so i think we might have time for a couple questions um so i think uh to end it i just want to like get your thoughts on um first uh if there is someone here or out there who's listening to this talk later uh and they want to create um a kind of infrastructure or tools for the wider community um maybe as a sort of a public good that isn't making any revenue maybe perhaps even with making revenue uh what advice would you give for someone who wants to start uh something like this to start a project that for the public good project uh okay to to create tools or infrastructure uh to help other people in the community to build their projects uh whether or not it's uh for profit or non-profit um yeah either way uh well i mean for tooling i mean the first question is uh funding and uh uh it does seem like that's a tooling projects are are fundable from ef grants or from the esp program so that's a first step uh i think um and in terms of uh i mean of course with tools and remix that's like making a new plug-in and that process is pretty straightforward uh especially you know if you're a javascript developer or typescript um and then you can integrate some tool into remix or maybe uh you know tools that integrate with other tools like like that or maybe there's something for hard hat uh some runner for there uh and um uh i'm not sure what to say beyond that um um yeah i think uh that's fine uh funding is uh one very important thing uh to first make sure you can have um and i think last question for me is um uh if there are any kind of um feedback that uh your users the the developers for using remix have for uh the product like uh how can they reach out to you and and like how kind of responsive or how do you kind of reply to these kinds of uh feedback yeah so uh the few different ways uh uh one of the most i mean the first important one is to subscribe to our twitter feeds uh often we'll announce when uh a um release is coming uh we're and also we're often looking for beta testers and so when you're beta testing you get to know like what the coming features are uh you get to know people in the remix team a little bit and um uh and so then your your comments uh like go into our ears so that's like and also you get we have a little rewards program for our beta testers we get a a badge basically like a non-transferable nft on optimism and um so you can show off your that you've helped us on specific release uh but um so that's the first way another way is uh the getter chat we do monitor that especially for bugs and issues and you can send us an email at remix ethereum.org we'll get that what else there's a there's a discord chat um uh in fact maybe i'll i'll put an invite to that discord chat right here in the in the chat here uh which is i think that would help and uh yeah for those who can't find any of the links shared in the chat in this meetup we will summarize and we'll try and find the other links that robs mentioned and we'll share it in the diagram as well later all right um yeah uh thanks rob um so we're one minute past uh 9 30. i don't want to like keep people uh waiting and especially rob who's kindly shared an hour and a half of your time um yeah so thanks a lot for for joining us and sharing your thoughts um thank you guys also like like the news section at the beginning was really great so uh maybe maybe i'll troll your uh meetups next month too uh well you're uh very much welcome to and um if you're ever in malaysia there's a community of people here who'd love to bring you around uh we like to say uh we are a very very good destination uh just for like hanging out and vacationing so yeah let us know if you're ever in town okay i will all right see you thanks rob thank you thank you thank you

Automatic transcript — names and jargon may be misspelled.