Build the Future of Web 3 - Faster and Easier New Tools and New Features - Marc Mercuri
Ethereum Denver·Sun, Oct 9, 2022, 12:00 AM
Transcript
hey everybody how's your uh event going so far today everybody good night uh i'm mark um i've seen some familiar faces uh you may have known me before i worked at a company in seattle called microsoft leading blockchain efforts for them uh six months ago i reached out to joe lubin and said joe i haven't been to church in a while but i haven't lost religion i need to come back um and so i've been working with consent the last couple months uh and today we're gonna talk about a whole bunch of new stuff and so it's gonna be largely demo heavy we're going to talk about some new tools there'll be a new uh vs code extension for travel suite so we'll talk about that how you can and we've got integrated bugging and all that other goodness we're going to talk about some connectors they're going to help you connect to a bunch of stuff and build things out really really quickly and also expand the number of people who can develop which is kind of fun and then we'll show some integration that we've got with the webgl with an ethereum that plugs into unity and so you can now have meta mask and games running with connectivity there too so without any further ado we'll go ahead and dig in so first up is truffle suite for vs code um so this is vs code integration for truffle suite um you're gonna get all the goodness that's represented here it works with infuria quorum and quorum blockchain service which is the new service we have at consensus so no matter whether you're going public or private you're going to be able to connect it pretty easily you can file new project creation you start with a truffle box some can scenarios or you can do a net new project you can sign in and out of infuria which is quite nice as well as navigate to all the different networks you have set up um you can uh we've got integration with open zeppelins you can sort of download the contracts from opensupplement as well uh syntax checking linting compilation um all sorts of goodness there and you can also do forked chains now um if we have time we also have dashboard integration working so i know a lot of people had asked about hey can can we move some of the creds out of that environment file and can we use metamask and so we have that the team got in at the very last minute so we may look at that as well and we're definitely going to look at some interactive debugging so because we've only got 20 minutes i already have it opened up you can see here that um let's go to the command palette we'll start off there so if you're not familiar with this this is a visual studio code this is an extension we have in here it's also using this little extension from one blanco who's also at consensus um and you're gonna go to view command palette if i type truffle hang one second uh yeah let me take a look at that actually you know what i've not had to change this on stage before so i'm not sure on how to do that um but let me just zoom in on a couple pieces of this let's go to view command palette i'll read them off so you've got debug transactions new solidity project you can start and stop the ganache server ganache if you're not familiar with that that's a local evm you can do and deploy to and do all sorts of goodness there you can also create new networks uh i like to create networks that are today for ganache as well as if you're if you look down here you've got infuria and ganache networks that are set up look here i can see all the test networks as well uh now what i can do is i can see i've got a project structure that's set up i can right click on my contract this is just a simple one we open called simple marketplace that i've opened from a truffle box i go ahead and build my contracts you see down here in the bottom of the screen it's now doing building then i'm going to go ahead once this is done be able to go and deploy those and i can deploy those to whatever networks i have configured so it's pretty easy to go do all right while waiting for the build to complete i'll just show you also here we've got you know add contracts from open zeppelin which will bring those all in if i want to go ahead and deploy contracts i can do that i can pick development which is my ganache 7 instance i go to dashboard which i talked about earlier and i can go to any of the test networks it's set up so i'm going to click development and by the way i can come down here to output you can see here i've got truffle suite for vs code i can see everything that's going on behind the scenes okay quick see it's gone ahead and deployed i can see all the goodness there now one of the things we have with this truffle box i'm going to go over here to terminal as you can see here in scripts we have an offer.js and so with this contract is called simple marketplace so let's think of it i want to go ahead and put something up for sale i want to bid on that so it's a lightweight marketplace contract that's there what i'm going to do now is just go ahead and call truffle execute and i'll do scripts whack offer.js and so what this is going to do is it's going to use a different account than the one i just created on because we've got logic in here because if you're a seller you can't bid on your own project that'd be a bad thing and it's going to go ahead and deploy using one of the scripts we've got set up here go ahead and execute a contract you can see here that it was successful said offer good luck all right so why do we go do that because we want to do now is go to our command palette and debug a transaction and now you can see all the transactions that we're executing i'm gonna go ahead and pick this one you can see here this is the simple marketplace contract we just just called give that a second over here you can see variables you've got watching you can do a call stack and what we just did is we went ahead and made an offer there so what i'm going to do here is i'm going to go ahead and look at the offer price scroll down here okay i'm just gonna go ahead and step through this but now i've got interactive debugging for my solidity smart contracts and we're gonna go ahead and switch it there and uh of course it happened off screen you can see now that that one went ahead and updated so now you're getting the debugging experience that you want directly within here um we're doing some additional work to this right now but the team wanted to get that in here so you guys can see it um this will be shipping in the next few weeks this hasn't launched yet it hasn't launched yet it hasn't launched yet we're getting the uh the debugger in uh we're gonna release it without the debugger and then the feedback we had from some of the testers like yeah we'd rather wait a couple weeks to have the debugger actually baked in so we'll have this released in the next couple weeks so i can't see what those lights look right in my face what was that i i believe you can yes so we've got that um and then we can also if we wanted to we're not going to go into a lot of detail in this one let's go ahead and stop and then to we'll come back for the dashboard deployment in just a minute all right so that will help you go faster with your contracts so let's talk about connectors so a lot of times when i talk to folks like hey i want to build something really quickly it's like all right well what is it you want to go build well when this happens on chain i want to send a text message or hey i'd like to send an nft when adobe creative cloud gets a new file that's posted up there can i do that automatically i'd love to be able to um when this happens in a database can i go ahead and have this happen on change so put data in there or sometimes unchained i want to have that go into a database and then i've got some customers where like hey like we're all bought in but for right now we get a file that's an excel file as an attachment on an email and that has to get into the chain and so with connectors you can actually say hey it's basically if this then that to connect to over 400 different types of things and so conceptually there's this notion of a trigger where there's business logic that when an event occurs on a contract you can say all right when this happens there we can react to that and then you can have actions that say hey i want to query the state i want to execute the functions and i want to deploy contracts and so if this happens on chain do something which could also trigger stuff that happens on chain uh it could also do in the opposite direction off chain and on chain so we'll show you a couple examples here today this is a new connector that we're going to be releasing it will start initially in microsoft's power platform and logic apps there's a reason for that because it has a pretty pretty big blast area blast radius and then we'll bring it to other platforms and so when we say it's going to be in logic apps and power platform what does that actually translates to well if you want to have it interact with say um pro code developers they're going to have tools they can use and plug this into if you want to have it for low code developers and powers we're going to show you like how you can quickly make a chat bot with this that plugs into slack and other things in just a minute it also allows you to get into some business applications that also plugs into amazon even though it's a microsoft service it also plugs into slack and and um a number of other stripe and a bunch of other services there um so this is the connector that we'll be releasing shortly uh we're gonna demo it here today we figured if you guys came out on a sunday saturday on a sunday that you were pretty hardcore we should get you some visibility there um but the big thing here is it's got 400 connectors and some some of those are connectors one would demo today is from folks like twilio so we can do sms messages as a result we can also do voice interaction so i've done demos of this where something happens on chain it's a trigger it'll call you it will ask you a question you'll press one or two and then it will go ahead and send some some things back on chain so this can allow you to do a lot more things a lot more quickly right and so even if you say you know i want to write all the code myself this will help you prototype those scenarios out to prove it out for folks looking for investors maybe get show show investors the art of the possible it really will connect to a number of different things that are there so let's go ahead and pop out into a demo all right so we got a bunch of these demos here okay so this one i just had trigger manually so there's a bunch of triggers you can have i just said because i could kick this up by myself i can basically query a smart contract i can go ahead and execute a smart contract now what i'm going to do is i'm going to have a i also use twilio here and so twilio i'm saying hey call uh go ahead and send me a text message you'll you'll hear my phone go off in a second then also send me an email which you'll see happen on screen and it also will do things like because the connector provides information like on the transaction hash you can have things like that like automatically populate in here so you can build things out in like four or five minutes in some cases just to get things going and get things to try out so if i go ahead and execute this right now so this is an interactive debugger for this particular tool right so it's gone out to this smart contract address it's gone ahead and executed a function on a smart contract and it's gone ahead and sent an email out and i've got a text message on my phone just a second ago this took me just a few minutes to build before before the session today so that's kind of interesting right um let's go ahead and look at this and so this is another scenario when i said hey what would it take if you wanted to issue an nft from just creating a new file in adobe creative cloud well there's an adobe creative cloud connector right and so you can do this when um i'll show you an example as i was basically uploading there's a thing if you i'm a big rick and morty fan and so they have like a rika find me a go rick yourself thing where i've got like a profile picture of myself um and so i can actually upload and so i actually did this this morning so on my phone i can go ahead and go to the adobe creative cloud app i can upload a photo it will detect that it just came in it will then process this logic and then it sends me a text message after the fact so the thing is we're wiring it up right now with the infuria ipfs api as well and so you have full ipfs and be able to do things on chain uh as well so again this took like 15 minutes it's like we're going to build this stuff out really quickly now that's interesting but what if you want to build out something where hey i've got an idea i want to pitch this really quickly well power platform is another place where i see these connectors sort of pop up and so power platform has um low code no code data so it's really easy to spin up like back-end data but it also has low code no code apps and what that means you can build a wysiwyg app that will target mobile web desktop like in minutes they also now integrate with teams um and then it also has these notions of chat bots right and so we've actually built the chatbot out here so remember that smart contract i showed you the beginning which was the simple marketplace here i built out what's called a topic that topic is just like how we're going to interact with the user and then at this point you know i'm asking the user what's the item name and what's the price and then this is okay i want to go ahead and do a um an action go ahead and look at the action and so basically what's going to happen is it's going to pass in the item in the price it's going to go ahead and deploy a smart contract we're buttoning this up right now the you put the contract api in here which in this case is fairly long as you can see um but those are all going to be one line so we're going to pass them in those variables we're aligning the variables in the release and then it's going to go ahead and respond back and so i can build a chat bot that will interact with folks but then i also have the ability if i want to publish that i can publish it out to facebook i can publish it out to microsoft teams i can publish it up to slack and publish it to skype uh i don't think people use cortana anymore but like and then you publish your website too right so you really have a lot of options where you can start building really interesting types of of apps that interact with your systems pretty darn quickly excuse me so we looked at that the next thing we'll talk about let's pop back to the slides is there's another type of integration that we talked we can talk about which is those last two things i talked about they're going to come together so we have a lot of people that said hey i'd like to be able to generate web services for my smart contracts right like i want to be able to have people write apps because a lot of people that i want to hire like everyone in this room probably knows hiring is incredibly tough right now and yet a lot of people that want to participate that don't know a lot about blockchain the front-end developers who want to connect up to web services and things like that or their data developers want to connect to data and so you can see here this is coming an upcoming release we've got it in test right now where i can right click on a smart contract and it will generate smart generate web services for every single function of my contract and so uh and by the way those will publish in um azure functions or if you're familiar with with the aws that's equivalent like lambda or the two things i just showed you and you just basically need to take those and run with it if you want to publish to reports same thing we'll go into a streaming data set you can see online and simply with data if you want it will generate a schema for a database and you're allowed to automatically publish to a database so maybe you'll right-click and deploy and now it's hooked up to your chain and just works but oh hang on a second there's one more thing i'm going to make sure we leave some time for questions but let me reload this page so juan blanco from ethereum uh is back at consensus he works on my team and i said juan i'm a unity guy and i built a bunch of games over the holidays i want to see if we can update an ethereum to do more with unity because you need is based on.net and that's what in the hearing is and so one is ship this you can download this today if you're doing hackathons this is kind of fun excuse me um and so now you've got unity which can publish games publish them as web thank you can publish them as webgl so they can run inside the browser you could also put them in place like ipfs uh and um run it here this is pretty basic but we have a whole bunch of different samples we're working on um some you know hard more uh hardcore games and then we have some that are more in the vein of um here also some casual game scenarios yeah so this is kind of a fun one we got going right now so you can't hear the audio right now but a couple different examples and so this is another thing if you think hey how would i want to issue nfts of people and some sometimes there's there's four or five different scenarios that we were looking at here's one that's just kind of fun uh when i was a kid you could put a quarter intimidation showing my age but by the hair does that um you put a quarter in machine you turn a knob and you get these little things that pop out you get a prize inside so you could actually have like nfts being issued this way as well these can all come out back to all the services we have back at consensus as well so we just covered a lot of ground in a very short period of time um i think we have a couple minutes left for questions but i do want to see if you folks have questions and also what can we build for you
Automatic transcript — names and jargon may be misspelled.