►
From YouTube: FVM Space Warp Summit 🛸 Programming on the FEVM
Description
Zak Ayesh of Protocol Labs talks about Programming on the FEVM.
Follow us! https://linktr.ee/filecoinio
Subscribe to our newsletter! https://bit.ly/3Oy8J9j
#fvm #filecoin #fevm
A
A
Builds
up
on
top
of
all
this
I'd
like
to
welcome
Zach
and
have
him
go
more
deep
into
building
on
the
evm
on
the
FM.
Welcome
Zach.
B
Hey
thanks
for
the
introduction
and
thanks
Raul
for
laying
the
groundwork,
I.
Think
all
the
information
was
super
helpful
for
the
demo
I'm
about
to
go
through
so
we're
running
on
time.
So
I'm
gonna
go
ahead
and
just
jump
right
into
it.
Screen.
B
All
right,
yep,
if
you
don't
know
me,
I'm
Zach,
ayush,
I'm,
a
developer
Advocate
with
the
fvm
team
in
protocol
Labs
I've
worked
in
web
3
for
almost
three
years
now,
but
you
know
this
is
all
still
new
to
me.
This,
like
space
changes
so
much
and
it's
it's
all
so
crazy.
So
you
know
I'm,
never
Beyond,
learning
more
and
you
know
I'm
really
interested
in
infrastructure
and
web3,
which
is
why
I'm
here,
I,
think
decentralized.
Storage
is
a
a
very
important
part
of
the
web.
3
infrastructure.
B
Right
and
if
you've
watched
any
of
my
talks,
you've
probably
seen
this,
but
you
know
I'm,
always
encouraging
people
not
to
get
discouraged
by
imposter
syndrome.
You
know
if
this
stuff
seems
intimidating
in
advance.
It
is
because
it
is,
and
it's
like
always
changing,
and
it
is
to
everyone
we're
all
learning
as
it
goes
on.
These
are
some
notes.
B
B
Do
some
demos
and
remix
we're
gonna
go
over
like
a
basic
contract,
simple
coin,
just
to
show
that,
like
all
the
remix
solidity
features,
work,
we're
gonna
move
on
to
a
follow
coin:
Market
consumer
using
that
filecoin.soul
library
that
Raul
talked
about
and
in
hard
hat
we're
going
to
go
and
we're
gonna
mess
with
a
simple
deal:
Bounty
contract,
not
a
daily
Bounty
contract,
but
that
is
a
fun
name,
and
you
know
Molly
Roe
will
probably
already
talked
about
this,
but
you
know
we
have
launched
hyperspace,
which
will
be
a
more
stable
test.
B
Debt
for
you
to
develop
on
you
know
closer
to.
You
know,
go
early
if
you're
used
to
developing
in
the
ethereum
ecosystem,
and
we
will
be
using
that
in
this
demo
coming
up
all
right.
So
some
resources,
we're
gonna,
go
and
go
into
remix
I
have
metamask
installed
already,
but
you
can
go
to
their
website
to
install
it.
B
Just
a
little
browser
extension
up
here
and
I'm
going
to
show
you
how
to
add
the
hyperspace
Network
to
metamask,
so
we're
going
to
go
to
chainlist.org
and
we're
going
to
click
include
test
Nets,
because
hyperspace
is
a
test
net.
We're
going
to
type
in
hypersons-
and
here
you
go
here-
is
the
hyperspace.
You
know
Network,
it
gives
you
the
RPC
address
and
the
chain
ID
and
the
currency
you
just
click,
add
to
metamask.
This
will
pop
up
I've
already
added
it.
B
So
I'm
not
going
to
actually
go
through
and
do
that.
But
that's
how
you
add
the
hyperspace
Network
to
metamask
all
right
and
then
next
thing
after
you
add
hyperspace
to
your
meta
mask.
Is
we're
going
to
want
to
fund
it
with
t-fill,
since
we're
going
to
need
to
pay
gas
for
every
interactions
we
do
on
chain
right,
so
you
can
find
a
hyperspace
dot,
yoga
I
like
that
top
level
domain,
but
yeah.
B
If
you
just
click
here
hyperspace.yoga
and
if
you're
just
going
to
the
main
page,
you
can
click
on
faucet
here
in
the
top
right
and
remember,
Raul
kind
of
introduced,
the
T4
or
F4.
B
Addressing
so
F4
is
the
official
final
coin
address
for
all
ethereum
addresses
and
I'll
test
that
we
just
call
it
T4,
but
they're
the
exact
same
thing,
and
so
we
can
actually
just
work
with
almost
all
tooling,
with
just
ethereum
addresses
right,
so
it's
very
similar
to
normal
evm
workflows
right,
so
we're
going
to
copy
my
account
address
from
metamask
and
we're
going
to
paste
it
in
and
we're
going
to
do
a
hard
captured
here.
It's
always
very
specific.
These
are
always
fun,
so
I
need
specifically
pandas
and
a
forest
right.
B
So
this
panda
is
cool,
but
he's
in
the
living
room.
This
band
I
think
is
in
a
forest.
B
That's
a
penguin
and
I
believe
this
Panda's
in
a
forest,
so
not
quite
there
yet
for
us,
forest
forest
boom
all
right
send,
and
this
will
send
five
t-fill
to
the
wallet
I've
already,
as
you
see
pretty
funded
it,
but
later
on
in
a
stimuli,
you'll
probably
see
I
get
five
extra.
B
Okay,
so
now
that
you
have
a
metamask
with
the
hyperspace
Network
and
some
t-fill,
let's
go
ahead
and
go
into
remix.
B
Well,
I
already
have
a
little
I
already
have
a
remix
open,
but
you
can
go
to
remix.ethereum.org
to
get
to
remix
and
remix
is
just
a
very
Nifty
online
IDE,
it's
great
when
you're
starting
out
or
you
just
want
to
do
some
basic
tests
with
a
smart
contract
and
later
on,
we'll
use
hard
hat,
which
has
a
little
bit
more
advanced
features
if
you're,
if
you're
used
to
working
like
locally
as
a
Dev,
but
here
you'll
see
we
have
a
contract
called
simplecoin.soul
right
and
all
this
is
is
a
very
basic,
very
simple,
simple
token
contract
right
and
just
has
a
mapping
for
balances
and
a
Constructor
that
mints
the
whole
supply
of
tokens
to
whoever
deploys
this
contract.
B
You
know
a
function
to
send
coin
and
some
functions
to
get
balance
based
on
the
address.
B
So
let's
go
ahead
and
deploy
this
basic
contract
to
solidity.
We'll
check
make
sure
you
know
everything
is
compiled
properly.
We
get
the
green
check,
mark
we're
good
to
go
and
at
the
top
here,
usually,
when
you
come
in
you'll
actually
see
default
to
remix
VM
London
we're
going
to
go
ahead
and
click
injected
provider.
B
Metamask,
so
this
will
tell
this
will
tell
the
this
hotel
remix
to
send
all
transactions
through
our
metamask
account,
while
remix
via
remix
VM
is
just
like
this
local
local
simulated,
blockchain
right
and
remember.
Our
Constructor
here
needs
to
take
in
a
human
256.
B
So
this
is
going
to
be
how
many
tokens
we
made
I'm
gonna,
make
one
thousand
two
hundred
seems
like
a
fun
number
and
we're
going
to
deploy.
B
Now,
in
filecoin,
in
a
hyperspace
it
takes
about
30
seconds,
give
or
take
for
a
transaction
to
get
accepted
into
the
chain,
and
then
after
that,
transaction
is
accepted.
Filecoin
has
what's
called
the
delayed
execution
model
right,
so
the
the
transaction
will
be
included,
but
until
the
next
block
the
state
doesn't
actually
change.
So
it
takes
about
a
minute
or
so
between
transactions.
For
you
to
see
the
state
change
come
live,
so
this
will
take
a
second.
B
So,
instead
of
waiting
for
that
to
come
through,
I
have
a
pre-deployed
contract,
and
so
remix
has
this
Nifty
function
where,
if
you
have
a
contract
compiled,
so
it
knows
the
interface,
it
knows
the
Abi
you
can
put
in
the
address
of
that
pre-deployed
contract
right
here,
and
it
will
know
to
point
to
that
contract
with
the
ABI
right.
So
here
we
have
our
new
contract.
B
It
deployed-
and
you
know,
if
I
put
in
my
address
and
get
balance
here,
you'll
see
that
it
shows
1200,
so
the
Constructor
went
through.
We
have
1
200,
simple
coin
and
if
I
wanted
to
pull
up
that
old
contract
again,
you
know
this
was
that
other
contract,
the
old
contract
address
I,
can
just
click
this
button
and
pull
it
up
real
fast,
and
you
know,
hey
Stan
and
in
this
contract,
I
had
put
a
thousand
as
my
Constructor
right.
B
And
so
Raul
kind
of
laid
down
the
introduction
to
follow
chlorine.soul
right-
and
you
know
again
to
kind
of
just
repeat
a
bit
before
the
Advent
of
fem,
we'll
shoot
user
interaction
with
follicle
with
the
follicle
and
blockchain
was
handled
by
built-in
actors
right
originally
called
spec
actors
and
you
can
kind
of
think
of
them
sort
of
like
ethereum
pre-compiles
filecoin.soul
is
US,
literally
solidity,
Library
developed
by
zondax.
B
That
allows
you
to
interact
with
these
built-in
apis
via
writing
code
and
solidity
right
so
normally
like
before.
This
devs
would
interact
directly
with
clients
and
communicate
in
the
peer-to-peer
Network
in
the
blockchain.
But
now
we
can,
we
can
do
it
in
smart
contracts,
which
is
awesome.
B
So,
let's
just
like
go
explore
and
check
out
the
library
and
later
in
this
presentation,
for
some
of
these
important
links,
I'll
link
I'll,
go
back
over
them
and
I'll
have
QR
codes.
If
you
have
your
phone
handy
that
you
can
scan
and
go
to
these
links
right,
so
we're
at
github.com
solidity.
B
B
This
is
the
solidity
Library
you
can
use
to
interact
with
that
and
what
we're
going
to
be
messing
with
today
is
the
market
API
or
the
market
actor
right,
and
this
this
contract
allows
us
to
get
information
about
storage,
deals
that
are
on
the
file
coin,
Network
and
pull
them
into
our
smart
contracts.
So
we
can
write
logic.
B
So
yeah
I
want
to
talk
a
little
bit
more
about
storage
deals
right.
A
common
question
is
why
why
the
file
coin
evm?
Why
not
just
the
ethereum
evm
or
any
other
evm
chain?
B
Well,
the
reason
is,
you
know:
filecoin
has
access
to
these
Native
Primitives,
called
storage
deals
and
the
whole
reason
filecoin
was
created
was
to
be
the
blockchain.
That's
tailor-made
for
storing
the
internet's
data
right,
the
decentralized
storage
layer
of
the
internet
and
now
with
the
fevm.
B
For
the
first
time
you
can
program
smart
contracts
around
these
storage
deals
that
are
available
on
any
of
these
other
evm
chains,
and
so
this
kind
of
unlocks
a
whole
bunch
of
new
use
cases
that
I
think
you
know
we'll
talk
about
later
and
we'll
go
over
a
very
basic
one
like
data,
dials,
storage,
lending
markets
and
all
kinds
of
cool
stuff.
B
And
if
you
want
to
see
some
live
storage
deals,
we
can
do
that
by
going
to
the
alpha
Coin
Block
Explorer
called
Phil
Fox,
so
we'll
click
here
it's
at
fillfox.info
right
and
this
right
now
is
just
for
the
mainnet
follicle
on
blockchain
gives
us
all
the
stats
that
we
would
like
to
see
about
that.
But
we're
going
to
switch
to
hyperspace
now
right
now
it
still
says
wallaby,
but
this
does
point
to
hyperspace.
So
if
I
click
here
you'll
see,
this
is
hyperspace.filfox.info.
B
Wallaby
was
the
test
net.
We
were
using
before
hyperspace,
so
that
should
be
updated
soon,
but
yeah.
So
now
we're
looking
at
the
hyperspace
blockchain
testnet
and
if
I
click
on
blockchain
you'll
see
a
section
called
deal
list,
click
on
that
and
we'll
see
a
bunch
of
deals
that
have
already
been
made
on
hyperspace
and
some
of
the
info
around
those
deals.
B
B
You
know
the
deal
ID
that
defies
this
deal,
the
block
of
it
was
stored.
In
and
importantly
here
we
have
the
peace
CID.
This
is
the
CID
that
describes
this
essentially
a
hash
that
describes
fully
the
data
being
stored.
It
represents
the
data
and
you
have
the
size
of
the
data
being
stored
in
this
provider.
B
So
we'll
go
back
to
remix
here
and
I
have
created
this
basic
contract
here
that
Imports
zondax's
npm
libraries,
so
zondocs
did
package
the
repo
as
npm
libraries
very
conveniently,
and
we
can
pull
in
where
we're
going
to
pull
in
the
market.
Api
contract
right
here
and
the
the
market
types
contract.
B
B
So
what
does
this
contract?
Do?
It's
just
a
simple
basic
getter
contract
that
calls
all
of
the
getter
functions.
You
can
call
on
the
market
api.soul
and
stores
those
information
in
the
contract.
This
is
more
of
just
an
example
to
show
devs
how
you
can
access
these
apis,
and
so
we
can
get
things
from
the
deal
label.
We
can
figure
out
who
the
DL
client
is
the
deal
commitment,
which
is
really
important
that
actually
tells
what
data
what
the
pcid
is
and
what
the
size
of
the
data
is.
B
That
brings
that
in
and
you
know
all
kinds
of
fun
things
that
we
can
program
around
and
so
and
then,
like
one
function,
that
just
calls
them
all
and
we
just
pass
in
a
deal
ID
whatever
deal.
We
want
to
store,
we
pass
in
that
ID
and
so
what
I'm
going
to
do
we're
on
the
market
consumer,
it's
compiling!
It's
giving
some
just
license
warnings.
These
are
fine!
B
Right
so
you
could
go
through
and
deploy
new
just
wait,
I'm
going
to
deploy
one
of
my
previously
deployed.
If
you
wanted
to
deploy
new
you
do
it
the
same
way,
make
sure
you're
pointing
to
injected
provider
metamask
that
you
have
funds
in
your
meta
mask
and
that
will
pointed
to
the
right
contract
and
you
just
click,
deploy,
there's
no
Constructor
here.
So
we
don't
have
to
pass
any
arguments
when
we're
initiating
this
contract.
B
All
right
so
we'll
just
click,
add
address
we'll
pull
it
in
here
and
we're
going
to
store.
Let's
store
this
deal
that
we're
looking
at
right
here:
794
right
and
I've
already
I've
already
stored
it,
but
we're
just
going
to
go
through
the
steps.
B
So,
if
I
type
in
794
and
click
store,
all
metamask
will
come
up
with
a
transaction.
Just
click
confirm
and
the
transaction
will
go
through
again.
You'll
have
to
wait
about
a
minute
for
the
state
to
update,
but
this
contract
I
should
have
already
called
store
all
on
ID
794..
B
So,
let's
see,
if
things
line
up
here,
let's
look
at
the
DL
client
actor
ID
1337.
B
B
B
This
is
literally
just
this
peace
side
CID,
but
bit
of
16
in
code
and
there's
some
logic
later
on.
I
can
show
you
in
the
hard
hat
kit
that
actually
takes
care
of
this
for
you
yeah
and
the
size.
B
You
know
this
is
in
raw
bytes
and
it
lines
up
right
about
here
with
32
gigs,
so
yeah.
This
is
the
the
market
consumer
contract,
just
kind
of
showing
off
how
you
can
use
the
follow
coin.soul
in
a
very
basic
way,
just
to
pull
in
some
data.
B
Okay,
so
now
we're
going
to
move
on
and
do
some
work
in
hard
hat
right.
So
if
you
know
you're
a
little
bit
more
experienced
as
a
developer,
you
may
be
used
to
programming
in
a
in
a
local,
IDE
and
programming.
You
know
with
a
command
line
interface
and
all
that
good
stuff
and
hard
hat
is
an
SDK
one
of
the
most
popular
sdks
for
creating
deploying
and
testing
smart
contracts
using
JavaScript.
So
it
uses
JavaScript
to
kind
of
create
scripts
that
lets
us
automate
all
of
those
tasks.
B
So
in
this
demo,
I'll
go
over
the
a
starter
kit
that
we've
created
for
developers
to
download
and
easily
start
programming
with
hard
hat
on
the
fevm
and
we're
going
to
interact
with
a
a
basic
Bounty
contract
that
uses
file
cooling.soul
to
post
a
bounty
for
a
specific
pcid
in
size,
so
specific
set
of
data
and
allow
someone
to
come
claim
that
belt.
B
B
So
in
this
demo,
for
the
sake
of
time,
we're
not
actually
going
to
create
a
new
deal.
A
new
storage
deal
on
hyperspace,
it's
kind
of
a
time
consuming
process,
not
too
bad,
but
in
the
time
constraints
of
this
demo.
But
you
can
go
to
lotus.fallcoin.io
and
go
to
their
tutorials
and
they'll.
Tell
you
how
to
set
it.
You
can
set
up
a
local,
Lotus
client
on
your
computer,
and
you
can
create
deals
on
the
network
using
that
and
in
the
future.
B
Hopefully
we'll
have.
We
hope
to
have
some
more
convenient,
like
UI,
tooling,
methods
to
allow
devs
to
easily
do
that
and
the
deal
Bounty
contract
that
we're
going
to
go
over
was
originally
created
in
falloutry
by
a
great
Dev,
goes
by
Zen.
I.
Think
Raul
mentioned
him
earlier
and
you
can
find
this
original
repo.
If
you
prefer
to
program
and
Foundry
here,
Lotus
web
3
deal
Bounty
contract.
B
And
with
that,
let's
go
ahead
and
jump
right
to
the
starter
kit.
B
And
you'll
see
that
we,
you
know,
have
basic
structure,
a
contracts,
folder
a
folder
for
deploying
a
script
for
deploying
all
of
our
contracts
and
some
tasks,
a
task
folder
and
tasks
and
hard
hat.
Allow
us
to
interact
with
are
deployed
contracts
and
a
readme,
so
I'm
actually
going
to
stop.
Sharing
this
window
and
I'm
going
to
share
my
desktop.
A
B
Okay
and
we're
going
to
clone
this
demo,
this
hard
hat
kit
in
here.
So
if
we
click
on
code
and
copy
I
have
a
terminal
open
here,
I've
made
a
directory
called
demo
I've.
Well,
it's
probably
hard
to
see.
So
let
me
increase
the
font
a
bit
yeah,
so
I
made
a
directory
called
demo
I
switched
into
that
directory.
Now
we're
going
to
type
in
git
clone
I'm
going
to
post.
In
that
link
we
got
and
that's
going
to
clone
the
repo
in
there.
B
I
have
a
shortcut
called
code
which
will
automatically
open
a
any
directory.
We
point
to
it
in
vs
code,
if
we
just
type
Fem
and
tab
you'll
get
the
full
saying
code,
Fe,
evm,
hardhead
kit,
and
if
you
don't
have
this
shortcut
installed,
you
can
simply
just
open
up
a
vs
code,
editor
and
open
up
the
directory
using
like
file
and
open
we'll
hit
enter.
B
And
now
we
have
that
exact
starter
kit
opened
and
vs
code.
B
And
the
first
thing
I'm
going
to
do
in
here
is
I'm
going
to
open
a
terminal.
You
can
do
so
by
going
up
here
as
well
and
hitting
new
terminal
and
I'm
going
to
say
yarn.
This
chart
enter,
and
you
know
you
may
have
to
install
yarn.
If
you
don't
have
it
already
or
npm,
you
can
use
npm
at
faster
package
manager
of
choice,
but
this
will
install
all
of
the
packages.
We
need
to
run
this
repo
right.
B
And
it's
going
to
go
through
it's
going
to
do
its
thing
and
a
quick
walk
through
you
know.
Here's
that
read
me
that
we
saw
earlier
written
in
markdown
our
package.json,
which
tells
us
what
packages
that
yarn
actually
downloaded
and
what's
very
important
here,
is
the
hard
hat
config
which
allows
us
to
like
configure
our
hard
hat
based
on
the
network.
We
want
and
all
kinds
of
default,
behaviors
that
we'd
like
to
put
in
there
and
in
this
repo
we
have.
It
already
pointed
to
hyperspace.
So
already
it's
pointing
there.
B
It's
got
the
chain
ID
and
the
RPC
URL
already
in
there
ready
to
go
for
you,
and
one
final
thing
that
you'll
need
to
do
to
to
before
you
can
start
actually
doing
things
on
chain
is
put
in
a
private
key
so
that
the
the
repo
can.
B
The
repo
can
actually
sign
transactions
with
a
key
right
and
an
easy
way
to
do.
That
is
with
a
DOT
EMV
file.
Now
I'm
going
to
stress,
I,
always
stress
this,
never
show
anyone
your
private
key
and
never
check
in
your
dot
EMV
file.
So
this
is
an
example
just
to
show
you
and
the
private
key
I
will
put
in
a
private
key
to
show
you
how
it's
done,
but
you
know
this
is
just
a
test
account.
B
There's
no
real
funds
in
this
account
and
I
will
never
put
any
real
funds
in
this
account.
But
you
know
if,
if
you
give
someone
your
private
key,
they
will
have
access
to
all
your
funds,
even
on
mainnet,
so
make
sure
you're
doing
this
only
with
a
wallet
that
you
never
plan
to
use
for
actual
money.
B
So
we're
going
to
rename
this
from
Dot
interview.example,
dot,
EMV
and
we're
gonna
go
to
our
meta,
mask
and
I'm,
going
to
click
on
these
ellipses
here
and
go
to
accountant
details
and
Export
private
key.
B
So
our
get
ignore
should
ignore
the
dot
EnV
file.
So
this
will
not
push
it
to
git
but
again
be
absolutely
sure
that
you're
going
you're
not
putting
real
funds
on
this
private
key,
and
so
now
that
we've
got
that
set
up.
B
We
can
go
ahead
and
deploy
our
contracts.
So
there's
a
deploy
script
here
and
what
it
does
is.
It
goes
through
and
looks
at
each
of
the
smart
contracts
is
put
in
here.
So
here's
that
simple
chlorine
contract
we
have
the
market
consumer
and
we
have
the
deal
rewarder
contract
that
I'm
going
to
go
through
and
and
deploys
them
now.
You
may
see
that
the
syntax
a
little
bit
more
or
both
than
you
would
normally
see
in
a
hard
hat
project
if
you're
used
to
that.
B
But
all
we're
doing
here-
and
this
is
just
temporary-
is
we're
calling
to
RPC
to
get
the
the
priority
scene
and
we're
putting
that
in
our
transactions,
so
the
forces
it
to
default
to
EIP
1559.
B
B
So
yeah,
that's
what
this
is
doing.
It
just
reads
all
of
our
contracts
and
deploys
them
so
to
do
that
I'm
going
to
type
in.
Let
me
make
sure
this
is
visible
too
much
we're
going
to
type
in
yarn
yarn,
hard
hat,
deploy.
B
Okay,
so
it's
going
to
compile
it
since
this
is
the
first
time
and
then
it's
going
to
go
through
and
go
through
deploying
each
of
each
of
those
three
contracts.
Now
this
can
take
some
time
again,
and
so
what
I'm
going
to
do
at
this
point
is
I'm
actually
going
to
switch
from
this
and
I
have
a
hard
hot
project
with
some
contracts
that
are
already
deployed
so
exit
out
of
this
one:
okay
and
we'll
open
the
swine,
oh
nope,
not
this
repo!
Actually.
B
Right
here,
all
right
and
you'll
see
so
after
the
deploy
script
goes
through,
you'll
see
a
deployments.
Tab
come
pop
up,
and
this
points
to
you
know
the
metadata
for
where
your
contracts
are
pointed
to
like
what
their
address
is
and
their
API.
And
that's
how
you
know
it's
gone
through,
and
you
can
find
this
artifacts
folder
here
to
find
the
compiled
by
code
of
your
contracts
that
actually
get
deployed.
B
Okay,
so
you
know:
we've
deployed
the
contracts
we've,
you
know
got
everything
set
up,
let's
go
in
and
let's
interact
with
that
Bounty
contract.
Let's
look
at
the
Bounty
contract
and
then
we're
going
to
interact
with
it.
B
So,
under
the
contracts
directory,
we'll
see
file,
coin,
API,
examples
and
basic
solidity
examples:
basic
slitty
examples
is
where
you'll
just
find
simple
coin.
For
now,
if
all
coin
API
example
is
where
we'll
see
find
contracts
that
use
the
file
coin,
filecoin.soul
right.
B
And
you
see
here
that
we're
oh
that's
file,
consumer,
we're,
gonna,
go
to
deal
rewarder
right
and
you'll,
see
here
we're
calling
in
some
of
those
those
apis
from
filecoin.soul
right
now.
We
have
them
in
here
locally,
but
I
will
be
pointing
them
to
some
npm
packages
in
the
future,
as
they'll
stabilize
and
we'll
just
walk
through
real
quick,
how
it
works.
B
We
have
a
simple
function
here,
a
fund.
It
has
an
argument
we
could
actually
get
rid
of
that
it
doesn't
use
it
for
anything.
It's
just.
So
we
can
send
funds
to
to
this
contract
to
store
and
now
remember.
The
point
of
this
contract
is
to
act
as
a
bounty
contract
right.
B
We
want
to
be
able
to
put
a
CID
and
the
CIA
a
pcid
and
a
size
and
allow
a
bounty
hunter
to
come
through
and
look
at
our
contract
say:
hey
they're,
looking
for
this
PC
ID
of
this
size,
I
can
get
that
data
stored
on
file
coin
I'll.
Do
that
and
I'll
claim
the
Bounty
that
they
funded
the
contract
with
right,
and
so
this
function
adds
CID.
B
B
You
know
this
is
kind
of
a
jumping
off
point
for
you
as
a
Dev
to
to
kind
of
add
your
own
logic
to
start
customizing
it
and
really
building
out
a
full-fledged
app
around
this,
and
we
have
this
function
here,
claim
Bounty
right
and
what
it's
doing
is
it's
actually
calling
the
market
API
and
getting
that
good
deal,
data
commitment
we
looked
at
earlier
and
you
know
storing
it
in
these
variables
and
then
this
authorized
data
function
like
checks
to
make
sure
like
was
this
data
actually
requested
as
the
bounty
and
at
the
end
of
the
method.
B
It
will,
if
everything
matches-
and
it
goes
to
the
authorized
and
everything's
good
to
go,
it
will
send
one
fill.
So
this
is
hard
coded
to
send
one
fill
as
the
bounty
it'll
send.
One
fill
to
the
client
in
that
storage
deal
so
remember
in
the
storage
Deals.
They
automatically
have
that
client
field
and
we
can
pull
the
address
from
that
and
make
sure
the
money
gets
sent
there.
So
anyone
can
call
this
method,
but
it'll
always
only
get
sent
to
whoever
actually
created
the
deal,
which
is
what
we
want.
B
And
you
can
see
some
lower
level
functions
that
are
used
right
and
so
finally,
we'll
actually
want
to
do
this
and
like
interact
with
the
contract
right.
So
you
can
go
to
tasks
to
do
this
and
tasks
are
written
in
JavaScript.
B
From
our
command
line
in
hard
hat,
going
to
add
our
pcid
and
and
call
that
function
for
us
right,
so
we're
gonna
have
these
parameters
kind
of
do
the
RPC
calls
and
it's
going
to
call
the
add,
CID
function
on
our
contract
and
pass
in
or
arguments
now,
there's
some
logic
in
here
using
this.
This
Library
cig
that
actually
converts
the
pcid
that
we
get
what
we
saw
on
Phil
Fox
and
converts
it
to
the
hex
format
that
we
need
to
pass
in
the
easy
end
right.
B
So
as
an
example,
if
we
would
want
to
run
this,
we
would
do
yarn
hard
hat,
add
and
the
task
is
called
add.
Cid.
B
And
CID,
and
for
each
of
these
arguments
here
we're
going
to
have
to
add
in
some
info
so
contract.
This
is
where
you'll
put
in
the
contract
address
of
where
this
is
deployed.
B
And
again,
we're
going
to
put
the
P
side
PC
ID,
and
this
is
actually
the
PC
ID
of
that
dl794-
that
we
looked
at
earlier.
B
Cid
and
size
right
and
the
size
of
the
data.
B
So
ideally,
when
we
add
a
CID,
this
data
doesn't
exist
as
a
storage
deal
right
and
you
go
through
and
you
make
that
storage
deal
or
someone
will
make
that
storage
deal
but
to
simplify
things.
We're
going
to
put
a
bounty
for
a
storage
that
already
exists,
and
then
you
know
claim
that
Bounty
right,
so
you
would
call
that
function
and
it's
going
to
run.
I've
actually
already
run
this
function
with
this
exact
data,
so
yeah
I
went
through
anyway
and
yeah.
B
B
You
can
do
the
same
thing
with
font,
so
yarn
of
hard
hat
and
there's
a
task
here
for
a
fund,
and
this
will
send
one
fill
to
the
contract
and
you
can
call
fun
and
point
it.
You
know:
Dash
Dash,
contract.
B
Oh
not
a
pet!
Well!
Thank
you
post
and
paste
in
the
address
of
your
contract
as
a
string
and
hit
enter.
I've
already
run
this,
so
we're
not
actually
going
well
I'll
run.
It
again
send
an
extra
fill
of
funding.
B
And
finally
claim
Bounty
right
so.
B
And
for
this
one,
you
know
it's
going
to
be
the
same
yarn,
a
hard
hat
I'm
going
to
paste
this
command
in
for
time,
but
yarn,
hard
hat,
claim
Bounty.
It
points
to
the
contract
dash
dash
contract
and
we
put
it
as
a
string
and
we
put
the
deal
ID
of
the
deal
idea
of
the
bounty.
We
want
to
actually
claim
the
Bounty
for
that's
the
argument
right
and
that
in
right
there
we'll
hit
enter
here
and
that'll
clean
the
Bounty
right
and
that'll
send
the
fund
to
whoever
created
again.
B
Whoever
is
the
client
of
that
storage
deal
right.
So
the
client
of
dl794
was
this
person,
and
you
know
in
about
a
minute.
You
should
see
their
balance
increase
to
14
fill
because
they
will
would
have
been
rewarded.
The
Bounty
for
making
this
deal
right
and
yeah.
So
that
was
a
quick
overview
on
hard
hat
and
remix
and
programming
on
the
fevm
right,
and
here
are
some
of
those
important
resources
again.
B
If,
if
you
missed
some
earlier,
this
is
where
you
can
find
the
mock
or
another
marks
the
file
coin:
dot
Sol
Library
in
the
past.
They
were
mocks,
and
now
they
are
a
full-fledged
Library.
B
And
our
new
developer
forums
we
previously
had
these
on
discourse.
They
have
now
been
migrated
to
GitHub
discussions.
B
So
if
you
have
some
questions-
or
you
know
like
please-
post
them
there
and
Moby
monitoring
those
and
if
you're
participating
in
a
sackathon,
which
I
hope
most
of
you
are
you'll,
find
a
cheat
sheet
being
posted
in
the
Discord
in
these
Global
Discord
by
Sarah.
That
has
a
lot
of
these
links
in
there
as
well.
B
So,
thank
you
for
listening
to
this
demo.
I
hope
this
was
very
helpful
for
you
and
you
know
tried
to
compact
it
all
in
the
time
that
I
had
but
yeah.
This
is
the
team
and
if
you
see
us
around,
feel
free
to
message
us
on
Discord
slack
and
in
those
forums
and
we'll
be
active
and
monitoring
your
questions
during
the
second
time.
So
thanks.
C
Awesome
thanks
so
much
Doug,
just
jumping
in
for
kartik,
but
yeah
thanks
for
running
all
through
all
that
and
I
think
also
like
sticks
out
to
me,
is
how
much
of
this
is
very
familiar
to
just
writing
typical
ethereum
smart
contracts
with,
like
just
you
know,
dropping
in
some
different
nomenclature
and
and
different
addresses,
so
really
cool
to
see
and
excited
to
see
what
everybody
builds
yeah.
Thank
you
so
much
for
that
overview.
Zach.