TITLE: [MUSIC]
MARK: Everybody how's your event
going so far today? Everybody good?
Nice. I'm Mark.
I've seen some familiar faces.
You may have know me before,
I worked at a company in Seattle called Microsoft.
Blockchain efforts for them.
Six months ago, I reached out to Joe Lubin and said,
Joe I haven't been at church in a while but
haven't lost religion, I need to come back.
I've been working with ConsenSys last couple of
months and today we're going to talk
about a whole bunch of new stuff, and so
it's going to be largely demo-heavy.
We're going to talk about some new tools.
There'll be a new VS Code extension for TruffleSuite.
We'll talk about integrated
bugging, and all other goodness.
We're going to talk about some connectors
that can help you connect to a bunch of stuff
and build things out really quickly and also
expand the number of people
who can develop, which is fun.
Then we'll show some integration that
we've got with WebGL,
with Etherium that plugs into unity.
You can now have MetaMask, and games
running with connectivity there too.
Without any further ado, we'll go ahead and dig in.
First up, is TruffleSuite for VS Code.
This is VS Code integration for TruffleSuite.
You're going to get
all the goodness that's represented here.
It works within Infura, Quorum,
and Quorom Blockchain Service,
which is a new service we have at ConsenSys.
No matter whether you're going public or private,
you're going to be able to connect it pretty easily.
You get filed the project creation,
you start with the truffle box.
Some scenarios where you could do a net new project,
you can sign in and out of in Infura,
which is quite nice, as well as
navigate to all the different networks you have setup.
We get integration with open surveillance.
You can download the contracts from opens up on as well.
Syntax checking, Linting,
Compilation, all goodness there,
and you can do forked chains.
Now, if we have time,
we also have a dashboard integration working.
I know a lot of people had asked about hey,
can we move some of the creds out of
that environment file and can we
use MetaMask? We have that.
The team got in the very last minute,
look at that as well, and we're definitely
going to look at some interactive debugging.
Because we've only got 20 minutes,
I already have it opened up.
You can see here that
let's go to the Command palette, we'll start off there.
If you're not familiar with this,
this is visual studio code.
This is an extension we have in here.
It's also using the extension from one Blanco,
who's also at ConsenSys and
you're going to go to view "Command Palette".
If I type Truffle, one
second, let me take a look at that.
Actually, I have not had to change this on stage before,
so I'm not sure on how to do
that but let me
just zoom in on a couple of pieces of this.
Let's go to view "Command Palette" I'll read them off.
You've got debug transactions, new solidity project.
You can start and stop Ganache server.
Ganache, if you're not familiar with that,
that's a local EBM
you can deploy to, and do all goodness there.
You can also create new networks to
create networks that are today for Ganache,
as well if you look down here,
you've got Infura and Ganache networks that are set up.
Like here I can see all the test networks as well.
Now, what I can do is I can see I've got
a project structure that set up.
I can right click on my contract,
this is just a simple one we'll
call 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 not doing building.
Then I'm going to go ahead, once I sit down.
People be able to deploy those.
I can deploy those to whatever
networks I have configured,
so it's pretty easy to go do while
waiting for the bill to complete.
Just show you also here we've got
your ad contracts move in
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 give it a dashboard, which I talked about earlier,
and I can go to any of the test networks that set up.
I can go in click "Development".
By the way, I can come down here to "Outputs".
You can see here I've got TruffleSuite for VS Code.
I can see everything that's going on behind the scenes.
Hey, Quincy, it's going on ahead and deploy it.
I can see all the goodness there.
Now, one of the things we have with this Truffle Box.
Going to go over here to "Terminal".
You can see here in "Scripts",
we have an offer.js.
With this contract, it's called Simple Marketplace.
It's think of it.
I want to go ahead and put something up for
sale. I want to bid on that.
It's a lightweight marketplace contract that's there.
What I'm going to do now is just go ahead
and call Truffle Execute.
I'll do scripts whack offer.js.
What this is going to do is it's going to use
a different account than the one I just created on,
because we get logic in here,
because if you're a seller,
you can't bid on your own project, that would be
a bad thing and it's going to go ahead,
and deploy using one of
the scripts we've got set up here.
You can go ahead, execute a contract.
You can see here that it was successful.
Set off for good luck.
Why do we go do that? Because we want to do now.
Let's go to our "Command Palette"
and debug a transaction.
Now you can see all the transactions that we're
executing. I'm going go ahead and click this one.
You can see here,
this was the simple marketplace contract
we just just called.
Give that a second. Now, over here,
you can see variables you've got watching.
You can do a call stack.
What we just did is we went
ahead and made an offer there.
What I'm going to do here is I'm going to
go ahead and look
at the Offer Price.
Scroll down here.
I was going to head and step through this,
but now I've got interactive debugging
for my solidity smart contracts.
We're going to go ahead and switch it there.
Of course, it happened off screen.
We can see now that that went ahead and updated.
Now you're getting the debugging experience that you
want directly within here.
We're doing some additional work to this right now,
but the team wanted to get that
in here so you guys could see it.
This will be shipping in the next few weeks.
Has it launched today?
It hasn't launched yet. We're
getting the debugger in.
Are we going to release it without the debugger?
Then the feedback we had
from some of the testers like yeah,
we rather wait a couple of
weeks have the debugger actually in.
We'll have this release the next couple weeks.
Cool. Sorry,
I can't see with those lights, what was that?
SPEAKER 2: [inaudible]
MARK: I believe you can. Yes.
We've got
that and then we can also,
if we wanted to we're not
going to go into a lot of detail on this.
Let's go ahead and stop
and then we'll come back
for the dashboard deployment in just a minute.
That will help you go faster with your contracts.
Let's talk about connectors.
A lot of times when I talk to folks like hey,
I want to build something really quickly.
It's like all right, 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?
When this happens in a database,
can I go ahead and have this
happen on chain, so put data in there?
Or sometimes on chain, I
want to have that go into a database.
I've got some customers who are like, hey,
we're all bought in.
But for right now, we get a file that's
an Excel file is an attachment on an e-mail,
and that has to get into the chain.
With connectors, you can actually say, hey,
it's basically if this, then that to
connect over 400 different types of the things.
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.
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.
If this happens on chain,
do something, which could also
trigger stuff that happens on chain.
It could also do the
opposite direction off chain and on chain.
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 big blast radius,
and then we'll bring it to other platforms.
When we say it's going to be in
Logic Apps and Power Platform,
what does that actually translates to?
Well, if you haven't interact with,
say, pro code developers,
they're going have tools they can use,
and plug this into.
If you want to have it for local developers,
we're going to show you how you can quickly make
a chatbot with this that
plugs into Slack and other things.
It also allows you to get into
some business applications.
It also plugs into Amazon.
Even though it's a Microsoft service,
it also plugs into Slack,
Stripe, and a bunch of other services there.
This is the connector we'll be releasing shortly.
We're going to demo it here today.
We figured if you guys came out on
a Saturday and a Sunday,
that you were pretty hard core, and we should
get you some visibility there.
But the big thing here is it's got 400 connectors.
Some of those are connectors, the one we'll demo today
is from folks like Twilio.
So we can do SMS messages as a result.
We can also do voice interactions.
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 press 1 or 2 and then it'll
go ahead and send some things back on chain.
So it's going to allow you to do a lot more
things a lot more quickly.
Even if you say 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 to show investors out of the possible.
It really will connect to
a number of different things that are there.
I'm just going to pop out into a demo.
We got a bunch of these demos here.
This one I just had triggered manually.
So there's a bunch of triggers you can
have because I could query 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 also use Twilio here.
Twilio, I'm saying, hey, send me a text message.
You'll hear my phone go off in a second.
It'll also send me an e-mail, which you'll
see pop on screen.
Because the connector provides
information on the transaction hash,
you can have things like that
automatically populate in here.
So you can build things out in four or five minutes and
some cases just to get things going and
get things to try out.
I'll go ahead and execute this right now.
This is an interactive debugger
for this particular tool.
It's going out to the smart contract address.
Let's go ahead and execute it,
a function on a smart contract.
Let's go ahead and send an e-mail 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
the session today. That's interesting.
Let's go ahead and look at this.
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.
You can do this when, and I'll show you an example.
I'm a big Rick and Morty fan.
So they have a Rickify Me or
Go Rick Yourself thing
where I've got a profile picture of myself.
I can actually upload. I actually did this this morning.
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.
The thing is, we're winding up right now with
the Infura IPFS API as well.
Your full IPFS and be able to do things
on chain as well.
Again, this took 15 minutes,
we're going to able to build out stuff really quickly.
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.
Power Platform is another place
where these connectors pop up.
Power Platform has low-code no-code data,
so it's really easy to spin up backend data.
But also it has low-code no-code apps.
What that means is you can build a whizzy
wig app that will target
mobile web desktop in minutes.
They also now integrate with Teams,
and then it also has these notions of chatbots.
We've actually built a chatbot out here.
Remember that smart contract
I showed you at the beginning,
which was the simple marketplace.
Here I built out what's called a topic.
The topic is just how we're going
to interact with the user.
Then at this point, I'm asking the user,
what's the item name and what's the price?
It says, I want to go ahead and do an action.
I can go ahead and look at the action.
Basically what's going to happen is it's just going to
parse in the item and the price.
It's just going to go ahead and deploy a smart contract.
We've buttoned this up right now.
You've put the contract API in here,
which in this case is fairly long as you can see.
But those are all going to be one line,
so we're going to parse in
these variables or line of the variable,
and then release,
and then it's going go ahead and respond back.
I can build a chatbot 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 out to Slack,
or publish it out to Skype.
I don't think people use Cortana anymore,
and post on your website too.
So you really have a lot of options where you can start
building really interesting types
of apps that interact with
your systems pretty darn quickly.
We looked at that.
The next thing we'll talk about,
pop back to the slides,
is there's another type of
integration that we can talk about,
which is those last two things
I talked to you about, they're going to come together.
We have a lot of people said, hey,
I'd like to be able to generate
web services for my smart contracts.
I want to be able have people write apps
because a lot of people that I want to hire,
everyone in this room probably knows hiring
is incredibly tough right now.
You had a lot of people who want to participate
that don't know a lot about blockchain.
They're frontend developers who want to connect
up to web services and things like that,
or they're data developers that want to connect to data.
You could see here, this is an upcoming release,
we've got it in test right now where I can right
click on a smart contract and it will
generate web services for
every single function of my contract.
By the way, those will publish
in Azure Functions or if you're familiar with it,
it'll be less, that's equivalent like Lambda
or the two things I just showed you.
You just basically take those and run with it.
If you want to publish to report, same thing.
Go to streaming dataset,
you can see online and simply with data.
It'll generate a schema for
a database, and it will allow you
to automatically publish two database.
So you right click and deploy,
and now it's hooked up to your chain and just works.
Hang on one second. There's one more thing.
I want to make sure we leave some time for questions.
Let me reload this page.
Juan Blanco from Etherium is back at consensus.
He works on my team.
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 in Etherium to do more with Unity?'
Because Unity is based on.NET
and that's what.Net and Etherium is.
Juan has shipped this.
You can download this today. If you're
doing hackathons, this is fun.
Now, you've got Unity, which can publish games.
You can publish them as WebGLs,
so they can run inside the browser.
You could also put them in places like
IPFS and run it here.
This is pretty basic,
but we have a whole bunch of different
samples we're working on.
Some more hard core games and
then we have some that are more in
the vein of also some casual game scenarios.
This is a fun one we got going right now.
You can't hear the audio right now,
but a couple different examples.
This is another thing, if you think, hey,
how would I want to issue NFTs to people?
Sometimes there's four or
five different scenarios that we were looking at.
Here's one that's just fun.
When I was a kid, you put a quarter in a machine to
show my age, but by the hair does that.
You put a quarter in a machine, you turn a knob,
and you get these little things that
pop out, you get a prize inside.
So you could actually have NFTs
being issued this way as well.
These can all come out back
to all the services we have back
at consensus as well.
We just covered a lot of ground
in a very short period of time.
I think we have a couple minutes left for questions,
but I do want to see if you folks have questions.
Also, what can we build for you?