►
From YouTube: Syrus Akbary – Wasmer for web3 apps
Description
Speaker: Syrus Akbary, founder & CEO at Wasmer.io
Topic: Wasmer for web3 apps
Wasmer.io https://wasmer.io/
Wasm in Web3 workshop https://avive.github.io/wasm_on_the_blockchain_2021/#/
A
Hello:
everyone
I'm
I'm
sirus
and
today
we
are
chatting
about
webassembly
in
web3.
I'm
basically
like
it's
going
to
be
a
storyteller
on
how
wasmer
can
help
your
your
ecosystem,
especially
if
you
are
on
the
centralized
platform
web3
world,
so
presentation
about
myself,
I'm
sirus,
I'm
the
founder
and
ceo
of
westmore.
A
If
you
don't
know
what
wasmery
is,
we
are
a
server-side
websome
runtime
that
basically
allows
anyone
from
companies
to
enterprises
to
blockchain
applications,
basically
to
anyone
leveraging
on
webassembly
to
run
any
kind
of
software
anywhere
in
the
in
the
cloud
in
the
edge
blockchains,
and
you
can
find
reference
to
to
myself
and
and
to
the
company
like
in
almost
all
the
slides.
So
my
email
is
serious
that
was
meredith
or
twitter
is
was
mariah
and
now
our
github
is
also
was
mariah.
A
So
that's
a
bit
about
myself,
I'm
from
spain.
So
that's
why
I
have
an
accent
but
but
yeah
I
was
gonna
say
that
feel
free
to
ask
questions.
But
I
think
this
is
only
one
way,
so
I'm
not
sure
if
I'm
gonna
be
able
to
see
your
questions.
So,
let's
start
the
agenda
for
today
today
we
are
going
to
see
why
webassembly
is
important,
especially
for
for
web3.
What
are
the
challenges
that,
like
you,
usually
face,
especially
if
you're
trying
to
execute
well
assembly
on
on
blockchains?
A
How
was
more
help
can
help
on
those,
and
one
of
the
things
where
I
wanted
to
to
put
more
emphasis
today
is
what
is
the
state
of
the
art
right
now
regarding
the
ecosystem
and
what
the
future
entails?
What
are
the
next
things
that
are
coming
in
the
in
develop
three
well
assembly
world?
A
There
are
right
now,
like
multiple
engines,
especially
on
web
assembly,
that
make
that
possible,
and
I'm
gonna
review
like
what
are
why,
first,
why
was
zombies
key
for
the
web,
3
for
decentralized
applications,
blockchains
and
so
on?
First,
is
because
it's
a
universal
format
that
can
run
code
universally.
A
That
means
running
code
in
any
chipset
in
arc64
or
arm
in
intel
chipsets
in
risk
five.
When
the
future
comes
or
any
operating
system
in
linux
windows,
ios
android,
it
doesn't
matter
also
one
of
the
main
advantages
of
webassembly
is
it
can
be
fully
sunboxed
and
I'm
saying
it
can
be
because
it
depends
on
you,
but
by
default
is
secure
by
default.
A
It's
really
really
fast
around,
so
we
get
almost
to
native
speeds,
usually
like
with
a
slow
down
of
like
five
to
ten
percent
and
sometimes
even
with
with
the
speed
up.
So
what
are
the
challenges
when
running?
Well,
something
watery?
A
These
are
things
that
probably
you
already
know
if
you
are
using
or
executing
bob
assembly
on
your
on
your
blockchain,
which
is
you
can
have
a
git
bombs
and
what
is
a
jeep
on
a
jitbomb
is
a
program
that
takes
longer
to
compile
than
it
takes
to
execute
and
basically
like
with
this,
you
can
have
a
malicious
actor
that
tries
to
get
your
blockchain
down
by
sending
you
like
code.
A
So
that
means,
if
I'm
trying
to
execute
a
module,
that
exit
that
those
operations
on
dance
and
nones
are
not
a
number,
so
I
kind
of
like
infinity
or
so
on.
So
when
we
are
doing
operations
over
these,
these
numbers,
or
or
yeah,
basically
like
global
assembly,
doesn't
assure
that
they're
mistaken
execution
across
chipsets,
and
usually
what
we
want
is
that
the
deterministic
execution.
A
A
Why
is
it
good
for
for
your
ecosystem?
First,
one
is
because
we
have
a
compiler
that
allows
you
to
compile
webassembly
code
in
a
way
that
is
completely
linear.
A
So
that
means
that,
like
no
matter,
if
your
module
like
weights,
one
megabyte
or
10,
it's
always
gonna,
compile
at
the
same
speed,
which
is
usually
like
five
megabits
per
second.
Obviously,
like
depends
on
on
your
on
your
mileage
and
and
how
powerful
your
chip
is,
but,
like
the
compilation
is
fully
linear.
That
means
that,
like
you,
are
not
going
to
see
o
and
square
complexity
when
compiling,
which
usually
means
that
you're
going
to
get
into
compiling
13
kind
of
programs
much
faster
than
other
optimizing.
A
Compilers
such
as
cranley
or
lvm
on
one
side,
I
have
to
say
green
leaf
is
not
really
like
an
optimizing
compiler,
or
at
least
it's
not
at
the
level
of
lodm,
but
we
have
seen
some
cases
where
crane
lead,
for
example,
takes
one
minute
to
compile
and
single
pass
takes
just
a
few
seconds.
So
so
in
general,
like
usually
you,
you
want
a
compiler
and
a
runtime
that
is
not
prone
to
jit
bombs
and
for
that
westmere
is
really
good.
A
The
other
thing
that
we
have
is
that
their
mistake
execution
across
chipsets
and
platforms.
So
that
means
that
when
you
run
a
web
assembly
module
in
windows,
it's
going
to
run
exactly
the
same
way.
It's
going
to
give
you
exactly
the
same
input
same
output
for
the
same
input.
So
this
is
quite
important
and
we
have
like
a
lot
of
tests
assuring
that
and
one
of
the
things
that
we
have
been
like
very
focused
on
since
the
beginning
is
to
have
the
platform
to
be
fully
highly
scalable.
A
So,
on
that
front
yeah
we
have
optimized
a
lot.
The
startup
time
is
just
a
few
microseconds
and
we
offer
the
developer
and
the
company
or
the
blockchain
like
different
alternatives
to
to
play
with
to
ensure
that
you
get
the
maximum
performance.
A
So,
let's
continue
with
who
is
using
wasner.
So
we
got
near
protocol
cosmosome
and
space
mesh.
This
one
are,
I
want
to
kind
of
like
highlight
those,
especially
because
they
are
sponsors
of
the
open
source
project.
They
are
collaborating
with
a
sponsorship
to
make
sure
that,
like
the
wasmer
evolve
at
a
healthy
place
and
also
to
make
sure
that
we
have
features
that
they
may
need,
but
apart
from
that
from
them,
there
are
tons
of
other
blockchains
that
are
very
using
us
to
put
some
examples
here.
A
We
have
fluent
slabs
holochain
chainsafe
around
rit,
which
are
just
like
trial
and
and
the
bad
protocol.
So
so
these
are
some
of
the
blockchain
ecosystems
that
are
using
us,
but
not
all
actually
like.
I
discover
each
like
a
lot
of
new
ones
each
each
week
and
and
modules
like
this
one
are
the
most
most
well-known
ones.
A
So
what
we
did
with
the
sponsorships,
I'm
I'm
here
trying
to
attract
you
to
to
collaborate
with
the
ecosystem.
If
you
believe
that,
like
web
assembly
is
a
key
part
of
your
infrastructure
on
the
centralized
world,
so
we
optimize
for
startup
speed,
we
lower
it
from
a
few
milliseconds
to
just
some
microseconds,
so
that
was
that
was
a
high
improvement.
A
We
optimized
for
really
fast
completion
times.
So
in
the
case
of
single
pass,
we
did
like
a
4x
improvement
on
the
speed
when
compiling,
of
course,
if
you
are
use
parallel
processes
or
threads,
and
one
of
the
things
that
we
did
lately
is
making
wasmer
fully
usable
in
the
browser.
A
A
It
really
doesn't
matter-
and
this
is
quite
big,
especially
for
what
we
believe
is
gonna
make
users
use,
was
marine
a
lot
of
like
new
places,
so
what
is
coming
next,
regarding
was
america.
Runtime
first
is
thanks
to
the
sponsorship
of
custom.
Wasn't
we
have
been
working
on
full
arm
support?
We
are
still
on
the
way
on
developing
this
one,
but
yeah
we
are.
We
are
getting
like
very
interesting
results
right
now
and
we'll
say
like
we
are
like
30
40
percent
on
there.
A
Other
thing
that
I'm
super
happy
to
to
announce
is
that,
as
of
today,
we
just
merge
supports
for
single
passing
windows,
I'm
not
sure
if
aviv
from
a
station
s
knows
no
resistor
yet
or
not,
but
basically
like.
We
added
like
full
full
supports
for
single
pass,
and
that
means
that
when
using
single
passing
windows,
you
can
yeah.
Basically
you
can
execute
whatever
single
pass,
which
is
awesome.
Other
thing
that,
like
actually
near
protocol
has
been
working
with
is
on
adding
like
signal
less
support.
A
This
support
right
now
is
quite
experimental
and
we
have
like
not
merged
yet,
but
it's
on
the
way
of
basically
making
it
work
and
trying
to
get
the
findings
also,
we
want
to
have
very
easy
usable,
unpluggable,
webassembly
modules
from
different
languages,
which
means
we
want
to
add
support
for
interface
types,
and
we
are
actively
working
on
this.
A
A
A
First,
one.
Let's
talk
about
the
sdks,
I've
been
watching
what
fluency
is
with
with
their
framework,
which
I
forgot
their
name,
and
it's
not
very
different
from
like
what,
depending,
for
example,
is
doing
not
have
it.
So,
basically,
what
I'm
gonna
say
is
probably
that
applies
the
same
for
for
the
framework
that
the
fluence
labs
has
been
working
on
so
with
definitive
candidate,
which
I
think
is
a
very
original
approach.
It
allows
you
to
create
universal
sdks
and
that
can
run
on
the
unity
internet
computer.
A
This
is
basically
like
more
or
less
a
precursor
to
interface
types
which
allows
you
to
create
universal
apis
that
can
run
in
any
language.
I
just
remember
what
was
the
name
of
the
of
the
framework
from
fluence,
which
was
marine,
so
dfinity
candidate,
I
think,
is
very
similar
to
to
marine.
But
there
is
one
thing
that
I
think
is
very
interesting
about
candid,
which
is
is
formula
formally
verified,
which
I
think
is
quite
important,
especially
for
for
blockchain
and
blockchain
or
decentralized
applications
and
also
is
unique
about
hashable.
A
So
I
would
recommend
you
to
take
a
look
on
on
the
project.
They
have
support
for
multiple
bindings
and
I
think
it's
just
the
beginning.
I
probably
like
this
is
gonna
like
feedback
into
what
interface
types
is
going
to
become,
but
can
be
easier,
is
a
pretty
pretty
good
approach,
I'm
probably
like
the
one
from
fluence
as
well.
Although
I
didn't,
I
didn't
have
as
much
time
to
to
review
it
yep.
A
I
think
I
deleted
the
wrong
the
running
slides
in
here.
I
was
supposed
to
talk
about
about
the
compiler,
and
I
remember
so.
I'm
just
just
bear
with
me
about
what
I'm
gonna
say.
So
we
have
discovered
a
very
novel
approach
for
compiling
webassembly
code
back
to
machine
code
in
a
way
that
is
super
super
fast.
A
This
is
great,
but
we
can
get
much
better
when
generating
the
code
at
runtime
and
as
well
to
generate
code
that
is
more
or
less
optimized.
So,
by
using
a
novel
approach
that
relies
on
the
lvm
compiler,
we
can
get
lvm
to
do
that
ahead
of
time
for
us
for
each
of
the
box
and
the
operations.
So
then
the
compiler
only
needs
to
patch
the
location
of
the
of
the
addresses,
and
that's
it
I'm
sorry
about
the
slides.
I
will
upload
them
later
and
it
will
have
this
slide
fixed.
A
A
First,
one
is
universal:
smart
constructs.
I
think
that,
thanks
to
interface
types,
we
can
allow
developers
to
create
smart
contracts
in
any
language,
so
basically
like
marine
with
fluence
dfinity,
with
candid
and
and
interface
types
in
general
are
going
to
be
really
key
to
create
universal
sdks
that
allows
us
to
run
smart
contracts
cross
train
chain.
A
This,
of
course,
will
depend
on
on
the
blockchains
to
decide
on
common
sdks
that
can
be
usable,
but
I
think
there
is
a
very
good
and
potential
opportunity
for
almost
all
the
chains
to
to
agree
on
a
api
that
is
going
to
be
universal
or
also
smart
contracts.
I
think
this
might
take
some
time,
but
I
remain
very
excited
about
this
this
one,
especially
because
when
you
create
a
smart
contract,
you
might
be
able
to
execute
in
one
in
one
chain
or
the
other.
A
A
The
smart
contract
perhaps
like
when,
when
a
note
becomes
like
very
overbooked
and
being
able
to
translate
or
to
move
that
execution
towards
other
node
or
perhaps
just
kind
of
like
being
able
to
recover
state
from
a
partially
executed
contract,
because
something
happened
on
the
node.
So
I
think
this
feature
is
super
super
exciting.
We
are
looking
forward
to
supporting
our
bosnia
and
I
think
it's
it's.
It's
gonna
help
a
lot
on
the
blockchain
ecosystem
as
well
or
what
three
ecosystems-
and
here
is
one
one
of
the
ones
one
of
the
future.
A
What
this
this
thing
commenting,
but
basically
like
the
the
main
thing
that
this
that
this
slide
is
trying
to
entail
is
that
we
can
use
ipfs
as
the
distributed
file
system
for
both
distributing
the
contracts
or
the
applications
that
we
want
to
execute
and
also
to
distribute
the
storage
that
this
application
might
use.
A
So
sometimes,
applications
like
such
as
rust
applications
they
might
not
require
any
like
file
system,
but
if
we
try
to
run
like
more
complex
examples
like
let's
say,
python,
python
relies
in
a
lot
of
like
files
or
system
files
that
are
actually
required
to
be
able
to
run
around
them
successfully
and
leveraging
my
ipfs
to
be
able
to
run
this.
This
module
across
basically
like
anywhere,
I
think,
is
super
super
interesting.
A
So
in
a
few
minutes
we
are
going
to
see
an
example
of
how,
for
example,
run
a
decentralized
wikipedia
search,
and
this
is
going
to
be
appeared
in
the
browser.
But
it's
going
to
showcase
like
what
are
the
different
opportunities
on
space
so
bear
with
me.
I'm
gonna
try
to
share
my
my
whole
screen
in
a
second
and
let's
see
if
I,
if
I
get
it
right.
A
A
So
I'm
gonna
share
my
stream
again,
but
I'm
gonna
share
other
screen.
So
here
we
are
here.
We
are
probably
you're
seeing
you're
seeing
my
my
browser,
you
will
like
what
I'm
gonna
demonstrate
is
a
full
thirst
text
search
on
wikipedia
and
that
means
kind
of
like
a
very
large
database
like
gigabytes
of
database,
and
here
we
are
gonna,
try
to
execute
a
search
on
this
data
set,
which
is
super
super
large.
A
So
let's
try
to
search
for
westmere,
I'm
just
curious.
How
like
what's
gonna
happen,
cool,
so
it's
it's
funny,
not
sure
what
are
all
these
different,
these
different
articles,
but
we
can
see
that,
like
wasmer
got
searched
in
a
lot
of
yeah
got
appeared
in
a
lot
of
like
different
different
articles,
let's
actually
like
search
for
web
assembly
here.
A
A
Yeah
so
basically
like
what
is
happening
here
is
luckily,
the
module
is
requesting
kind
of,
like
the
very
big
that
data
set
and
usually
like
what
happens
when
you
search
on
databases,
is
you
don't
get
the
whole
database
in
memory?
Usually,
like
you
search
at
the
beginning,
they
indices
the
index
to
see
like
where
certain
words
might
appear
and
then
based
on
different
indexes.
You
do
like
some.
A
You
stick
that
file
to
get
into
that
specific
content,
so
you
say
there
might
be
an
index
saying
like.
Oh.
This
word
appears
in
this
in
this
offset
in
this
other
offset,
and
this
other
offset
and
then
basically,
like
you
search
on
all
of
them,
you
get
more
indexes
in
this
indices
and
then,
like
you,
kind
of
like
the
engine,
merge
them
together.
A
So
that's
one
of
the
examples
that
I'm
most
excited
about,
and
this
is
so
far
kind
of
like
as
far
as
as
we
can
get
on
the
presentation,
I'm
gonna
jump
into
the
last
slide.
I'm
not
sure
if
it's
worth
for
me
to
share
or
not,
but
I'm
gonna,
I'm
gonna,
do
it
so
yeah.
Just
basically
like
that
was
the
presentation
it's
a
little
bit
shorter
than
the
rest.