our contract developers are there well
the answer is not enough we're mirroring
a similar situation that happened in the
early days of what development in the
1990s we have high demand low supply
right now we have around 9 million Java
developers and that's paled and
conspiracy to like the less than 10000
blockchain developers and even less mark
contract developers and these smart
contract developers are up against a lot
and here's one example of how they are
and so we created a smart contract
lifecycle and this is a brand departure
actually from traditional software
development life cycles and I come from
a project management so I love the life
cycles we start the business model
specifications currently we're
programming money essentially with smart
contracts that's a departure from
traditional software depending on what
you're programming and what you're
building but analysis requirements are
standard architecture design code that's
standard and then we get to system
testing we are programming money and any
bug is actually catastrophic to our
business model it ruins our entire
business model so we spend a lot of time
in testing and we go through UAT testing
regression testing we try to break these
things and then we try to get it audited
that's all so the parts are from
traditional software development it's
not a standard but here it pretty much
is we confident we deploy it and then we
support maintain that's another
departure supporting maintaining is done
by the EVM there's no back office
supporting this it's supported by four
nodes and miners and so after death or
business power user really how to
interact with your smart contract it's a
minimal footprint and you will have to
support any bugs and what does that mean
when a bug comes across your smart
contract or you have to upgrade it or a
feature you have to run through this
entire cycle again traditional software
development allows us to just add
features upgrades fix bugs and really
just deploy it again here we have to
create a new smart card
to fix anything or to upgrade it and so
that adds to the smart contracts that
are retired what they're now really
retired and so we have a lot of them on
the network so there's more than 1.8
million smart contracts on the EVM
that's closer to 2 million now and
they're growing so let's go inside the
network and so we got this information
from ether camp and ether scan since
2015 we've been slowly growing on smart
contracts in the EVM and now in quarter
3 2017 we've have more than a million in
the court in this quarter alone deployed
to the EVM and we project that it's
going to grow until we get you know 2018
where we have a million smart contracts
per month and if you compare that to
blogging there's over a hundred million
blogs created each month and so that's a
trivial number when you compare that to
these systems that are already been
extracted and are being used and so what
else are we going up against well
difficulties our contract so we have you
know basic nuances like the differences
between send transfer and call that
value and then we have more advanced
nuances like reenter C issues and so all
this adds to creating going back into
that smart contract lifecycle and
running through it over again because
you have to add a feature fix a bug and
so how do we enable rapid smart contract
development well we need to abstract a
few things from here namely this portion
right and this is and there's this has
been this is gonna help average users to
use this platform now Alex funder son
said the average user is just a lift and
mystical and elusive creature but that's
not true because we know who the average
user is and so the average user is
really developers there's a highly
technical and a small portion is just
the consumer Chad and so we have to
develop a platform that targets all
three of these to enable rapid mark on
tech development and mass adoption and
so how do we do that well we start small
we crawl there right we do templates
these are very easy just fill in the
blank templates yeah very one use case
they do it very well and that's it
but it's too narrow and that's not
enough so what's the next step
configurable smart contracts you
basically take that template and you add
features and and additions to it so you
can just switch on and off what you need
but that still isn't enough because that
is still a rather narrow use case and so
what's the next step smart contract
creation via a GUI so what we can do is
throw a template or throw I'm sorry we
can throw elements of GUI onto another a
canvas and we can abstract code from it
and develop our smart contracts and then
reverse we can take our smart contract
upload it into the platform and develop
a GUI from it so you can interact with
your smart contract and so we've
answered the what and the why and well
now we got to answer the powell
hello everyone I'm Matt Swezey founder
product lead and developer at pactum how
would one build such a platform to
further encourage mass adoption and
enable rapid smart contract development
first let's do a quick user error
there you
I'm sure many of you have seen and
recognize this diagram this platform
needs to be able to receive store Allies
and compile solidity and VIPRE source
code as well as captured the generated
ABI and byte code and be able to sign
and submit transactions to the EVM
there's nothing new here what is needed
is an interactive friendly UI to allow
everyday people are not developers to
build out and deploy smart contracts to
meet their unique needs at the same time
this platform cannot forget about
developers more on that later now let's
explore the platform layer by layer the
platform needs a killer UI and an
Internet intuitive and cutting-edge UX
that is a must do UI needs to be desktop
and mobile friendly
thanks to dozens of front-end libraries
frameworks and templating engines such
as jQuery and Euler bootstrap mustache
and various others building such a UI
won't be much of a challenge once the
design has been established required at
the client-side is web 3j s
implementation and third-party wallet
integration for outside wallets such as
meta mask to allow users that to control
their own wallets directly or indirectly
to sign and submit transactions mobile
developers web app developers back-end
developers front-end developers
blockchain and finally smart contract
developers there's such a vast amount of
skill sets out there it's impossible to
master them all the API layer of the
platform will enable any developer to
harness the power of smart contracts
without having to wrestle actual smart
contract code this layer of abstraction
will empower regular websites and
applications to deploy execute and query
the EVM without needing to do actual
code development themselves save me time
money and stress of having learning a
new skill set
moving on to the meat and the potatoes
of the platform the middle layer of the
stack or the back end of the platform is
what connects the UI api to the EBM
along with running other methods and
business logic to interact with the EVM
the middle layer needs to leverage web
3gs for JSON RPC calls to the EVM nodes
luckily for us back in developers we
have Java and.net libraries such as web
3j and aetherium two important two
projects as dependencies eliminating the
need to code direct web 3 JS integration
developers can now call Java and c-sharp
methods to interact with the blockchain
now what are other features this should
be extracted to accelerate smart
contract adoption username to wallet
address association similar to how ENS
works but now for contact information
says phone numbers emails user names can
be used instead of handling 40 character
hexadecimal strings if you exclude the
prefix with these associations users
will now be able to have a directory
lookup and keep their own private
address book on the platform another
example is wallet management while at
generation security and handling for new
non tech savvy users are those wanting
to be lazy and not worrying about
handling their private keys this is not
the preferred method though amongst
early adopters before mass adoption
there must be a middle ground to
encourage new user growth and finally to
the EVM note layer the platform should
have its own local within iam clients
one to support that both the test net
and main it works and also in order to
deploy execute and query smart contracts
as well as send transactions if the user
is utilizing the platform's user wallet
management system now here's the stack
as the layers come together and let's
run through a non developer user story
to see how the platform stack is
utilized now say users come in to this
platform desktop or mobile UI and they
want to sign a Dowell smart contract
well they drag and drop UI elements onto
a camp
let's say the first one they drag pick
select is a UI element representing the
Board of the Dow now after they drag it
onto the canvas they should be able to
click on the element and then configure
what should they could figure well let's
for example say how many board members
total there are or what decisions
require majority are unanimous votes how
our board members added removed or
replaced now after completing the design
of the Dow these are will know
immediately if their design contains any
errors once error-free the user ability'
deploy the dow smart contract to the
test net or directly to the main net the
steps involved here can be contained in
the user's browser are taken to the
middle layer of the platform depending
if the users utilizing their own
third-party wallet which is preferred or
if they're using like utilizing the
platform's wallet management system okay
let's move on to a dev user story a
developer comes up with the most amazing
ICL smart contract and once the
community to utilize their design
they've come to the platform's interface
upload the source code and vie for our
solidity the platform would then check
for errors compile and generate the API
and finally parse out the annotations to
generate the UI interface now the
developer can publish this configurable
smart contract now to the public along
someone like a chat to launch his own
token with minimal effort and no
coding this is an intro alright so
closing thoughts here that here's a
great visualization of what this
platform is striving to achieve at a
high level we want mass adoption of a
thin idioms smart contract technology
right this is possible through
abstracting smart contract development
away from non smart contract developers
and non developers among the use of the
platform users enter the platform
through the UI and API layers this
allows for a sec CSC and CST T's to be
consumed now smart contract developers
will also enter in through the
platform's you
although smart contracts source code as
stated before have you i aughtta
generated through the use of parsing the
ABI and also through new development
methods and ideologies we will introduce
the through the platform such as
annotations that allow audible
generation of the UI for interaction and
if they desire to they can publish this
source code to the platform's library
and now that smart contract is now a
configural smart contract our smart
contract template that your average user
can't consume now we talked about how
the platform is going to do it now there
are some responsibilities that this
platform should take in encouraging mass
adoption one is education we want to
promote user growth so we need to
educate new users on what a blockchain
is what restless agreements are and how
programmable currency can improve their
lives on a daily basis also involved is
protection we need to prevent and stop
attackers and scammers as much as
possible especially as new users come in
they're very naive y'all sure get slack
email spam all that but you know check
your wallet check this you know fake
leak to mune upload your private key
like they're gonna fall for that but the
average user will because these emails
are more and more on a daily basis
getting more official-looking one way to
stop this is to blacklist proven bad
contract addresses or wallet addresses
now this can you know range from
different levels one you can notify the
user like hey you're about to sin
transactions to a known bad wallet our
smart contract address or if you the
user chooses to through the platform
they should be allowed full protection
and then the platform should completely
block their transaction and then notify
them why the transaction was blocked for
further protection now people browse the
web every day most do not realize
they're indirectly using TCP and IP
protocols to visit their favorite sites
and five years or so this plan
form should achieve the same result the
average user will be extracted away from
the protocol and essentially never knew
they were interacting with the EVM thank
you
[Applause]
[Music]