►
Description
Arweave is a way to store permanent data on a blockchain and makes it easy and fun to create web3 applications. In this workshop, I walk through the basics of the Arweave developer tools and create a simple location check in application:
Code a-long using this github repo:
https://github.com/twilson63/intro-to-arweave
A
A
And
we'll
be
using
a
virtual
machine
ide
in
the
cloud
called
get
pod,
which
will
allow
you
to
essentially
boot
up
the
same
environment
that
I'll
be
running
without
having
to
you
know,
set
up
everything,
so
svelt
will
be
installed
a
tool
called
ar
local,
which
is
kind
of
like
a
local
test.
Net
of
our
weave
will
be
installed
and
will
be
up
and
running
with
some.
A
You
guys
may
have
remembered
back
in
the
web
2-0
days
an
app
called
foursquare
which
allowed
you
to
check
in,
or
you
know,
stamp
your
lat
and
long
wherever
you
were
into
a
centralized
server.
Well,
in
this
case,
we're
going
to
be
using
the
r
weave,
which
is
a
decentralized
block
chain
like
technology,
and
it
is
a
block
chain,
but
they
kind
of
call
it
a
block
weave,
because
you
can
store
a
huge
amount
of
data
in
this
and
and
it's
permanent
it
never
goes
away.
A
So
we'll
do
a
little
bit
of
that
and
it
can't
be
edited
or
deleted,
and
that's
why
the
perma
web
will
be
a
good
fit.
A
The
next
feature
is
just
to
list
the
pins
by
user,
so
we'll
have
another
route
in
our
app
where
we
can
list
all
the
pins
that
that
user
created-
and
that's
that's
what
we'll
do
today,
but
you
could
take
it
further
and
like
allow
to
list
all
the
pins.
A
A
Now
we're
gonna
use
the
web3
stack
and
for
the
website,
we'll
use
felt
just
regular
spelt,
not
spelt
kit,
maybe
another
one,
another
time
I'll
do
spelt
kit,
but
for
now
just
regular
spelt
and
then
our
weave
for
the
storage
and
our
weave
will
not
only
store
our
data.
But
if
we
have
time
at
the
end,
we'll
actually
store
our
app
on
the
rar
local,
which
is
like
a
test
net.
So
we
won't
have
to
spend
any
money,
but
that
that's
kind
of
cool
as
well.
A
So
you
really
can
deploy
a
full
stack
application
using
this
technology
without
having
to
to
use
any
anything
else.
There's
one
caveat:
there's
a
kind
of
dns
if
you
wanted
to
make
it
live
and
and
go
through
a
gateway
and
we'll
talk
a
little
bit
about
that
as
well.
A
So
what
do
we
need
to
know
in
order
to
to
successfully
do
this
workshop?
Well,
you'll
need
to
know
some
javascript
have
a
github
account
html
css
a
little
swell
we're
not
going
to
do
a
lot
of
crazy
spell,
but
it
might
help
to
know
a
little
bit
and
then
obviously
json
and
fetch
we're
going
to
actually
do
some
graphql
and
then
node.js
and
npm.
So
not
a
lot
to
to
know
on
this
workshop,
and
hopefully
you
will
learn
some
stuff.
A
I
know
I
did
so
in
order
to
save
some
time
and
have
to
you
know
kind
of
bootstrap,
a
lot
of
stuff,
we'll
use
get
pod
and
we
can
just
go
ahead
and
open
that
in
a
new
tab
and
I'm
going
to
go
over
to
that
new
tab
and
I'm
going
to
continue
with
github
I'm
going
to
kind
of
sign
in
with
my
test
user.
A
A
Just
to
make
sure
everything
works
so
while
that's
kind
of
coming
to
life,
so
what
we've
already
done
is
set
up
a
svelt
project
with
a
local
server
that
emulates
the
roy
protocol.
It's
called
ar
local
and
it's
not
a
full
r-weave
kind
of
minor
client
thing.
It
is
actually
kind
of
a
mock
thing,
but
it'll
work
great
for
us
today.
Basically,
we
can
send
transactions
to
it
and
it
won't
charge
us
anything,
won't
look
at
her
balance,
etc.
A
It
just
approves
them,
whereas
when
you
use
the
real
r
weave,
you
know
you,
you
will
need
a
lot
wallet
with
some
ar
tokens
in
that
wallet.
A
In
order
to
do
things
not
a
lot,
you
don't
need
a
lot,
but
but
you
will
need
some
we'll
talk
about
that.
As
far
as
the
css
we're
going
to
use
mvp.css
it's
a
kind
of
just
a
simple
prototype-ish
css
framework,
which
is
great
for
a
project
like
this
and
tinro.
For
our
routing
library,
the
ux
is
already
set
up.
A
Obviously
it
can
be
improved,
but
we'll
have
two
end
points
for
our
two
user
stories.
One
is
create
to
create
the
pin
and
pins
to
to
list
the
pins
and
then
finally,
we'll
pull
in
our
weave,
js
and
place
that
in
our
public
index,
html
page
and
basically
that's
the
sdk
to
interact
with
rwev.
Our
weave
is
a
json
rpc
and
it
just
wraps
it
in
some
nice
javascript.
So
we
can
access
it.
A
And
with
with
like
all
kind
of
web3,
you
will
use
a
wallet
to
connect
to
it
and
the
wallet
keeps
your
key
as
a
user,
but
then
it
allows
for
the
app
to
sign
the
transactions
without
having
to
ever
see
your
key.
So
the
app
never
has
access
to
your
private
key
and
the
wallet
exists
as
a
web
extension.
A
So
we'll
do
that,
let's
see
so
we
got
our
app
up
and
we
got
ar
local
running.
So
that's,
that's
all
good!
Let's
go
and
check
out
our
app
both
of
those
are
public.
So,
let's
open
our
app,
you
can
see
so
our
app
eight
pin
permanently
drop
a
pin
anywhere
in
the
world
forever
ever
ever
ever.
Oops
and
we've
got
two
routes
up
here.
A
A
B
A
So
we've
got
everything
running.
We
can
look
at
our
app
and,
let's
see
where
do
we
want
to
start,
let's
go
back
to
our
readme,
so
a
wallet.
So
what
we
want
to
do
is
use
ar
connect
ar
connect
is
a
wallet
in
the
our
way.
Are
we
ecosystem?
A
A
A
B
A
And
let's
go
into
create
spell
and
we'll
move
this
down.
Okay,
so
we've
got
a
server
running
on
port
1984.
That
is
what
is
our
kind
of
our
test
net
for
our
week.
This
will
allow
us
to
develop
and
test
things
without
having
to
pay
any
kind
of
tokens
to
do
transactions.
It
will
just
allow
us
to
do
it,
which,
which
is
cool,
and
what
we
want
to
do
is
we
want
to
take
this
address
and
we
want
to
go
into
main
here
and
we
just
want
to
create
now
now.
A
This
is
not
not
a
great
practice
to
do.
I'm
just
doing
it
for
this
workshop
so
that
you
can,
you
know,
kind
of
get
a
chance,
get
an
idea
of
what's
going
on
without
having
too
many
files
too
many
moving
parts.
A
So
here
we're
just
going
to
set
this
r
weave
global
on
the
window
so
that
we
just
like,
I
said,
don't
have
too
many
parts
with
swelt
you'd
probably
want
to
put
this
in
a
store,
but
this
initialization
phase
will
tell
our
rwev
client
what
server
to
connect
to,
and
normally
it
would
be.
You
know
kind
of
rwev.net.
A
A
So
now
we
can
look
in
our
create
I'm
going
to
go
ahead
and
add
a
package
called
spelt
for
vs
code.
A
I
don't
want
to
reload
the
window,
that's
okay!
Okay,
so
in
our
create
spell,
we've
got
a
couple
of
things
for
a
form.
Here's
where
we're
getting
our
location
and
this
function
submit
is
where
we
submit
our
form
and
what
we
want
to
do
is
create
a
transaction.
A
So
what
we're
going
to
do
is
do
tx
equals.
Are
we
and
it's
a
lowercase
a
and
we're
going
to
say,
create
transaction
and
we're
gonna,
give
it
some
data
and
it's
gonna?
It's
gotta,
be
a
string,
so
we'll
say
stringify
and
we'll
pass
in
the
location,
latin
long
and
we'll
pass
in
the
name
and
then
and
the
note
for
now,
so
that
that's
going
to
be
our
data
and
then
we're
going
to
tell
until
our
weave
what
kind
of
type
of
data
this
is
by
doing
an
ad
tag
of
content
type.
A
A
A
A
But
if
you
had
large
files
even
super
large
files,
you
you
want
to
to
use
this
bundle
functionality
which
we
won't
have
time
to
go
into
on
this
workshop,
but
that's
out
there,
so
you
you
can
do
large
files
and
you
can
actually
bundle
them
bundle
a
bunch
of
transactions
together
and
submit
them
as
one
bundled
transaction,
which
is
pretty
cool.
A
A
B
A
A
Okay,
this
page
is
requesting
permission
to
connect
to
your
wallet.
Please
review
them
in
the
pop-up
view
them
in
the
pop-up.
Okay,
that's
the
first
okay,
so
I
don't
know
if
you
can
see
my
pop-up
because
we're
doing
a
window,
but
the
rconnect
auth
has
popped
up
and
I'm
going
to
log
in
with
my.
A
A
A
A
A
A
A
And
this
query
again
you,
since
it's
a
string,
you
can
make
these
dynamic,
which
we
could
probably
just
do
right
here.
Let's
just.
B
A
A
A
A
And
now
we
can
use
a
swell
template
to
list
them
and
I'm
just
going
to
pull
that
in,
but
basically
we're
going
to
use
the
await
directive
and
call
get
pins
and
while
they're
loading
do
that,
then,
when
they
come
in
for
each
pin
we're
just
going
to
show
the
name
in
the
note
for
now,
we
could,
because
we
have
the
latin
long
could
add,
like
a
link
to
google
maps,
to
show
the
map
of
where
it's
pinned.
Maybe
we'll
do
that.
We
have
time
so,
let's
give
it
a
shot.
B
A
B
B
B
A
A
A
A
Cool
okay,
so
we
just
gotta
work
on
that
address
thing,
but
I
know
hopefully
you
can
get
the
idea
and
maybe
that's
something
you
can
do
and
also
add
the
light
latin
long
and
maybe
a
link
to
the
map
would
be
kind
of
cool
so
before
we
wrap
up,
though
I
do
want
to
show
you
one
thing
so
one
once
you
have
your
app
built
right
now,
you
can.
A
You
can
use
this
tool
to
actually
deploy
your
app
into
the
r
weave
itself.
So
what
we're
going
to
do
is
we're
going
to
create
a
wallet
here
in
our
virtual
machine
and
then
we're
going
to
install
this
tool
called
arkb
and
ar
kb
will
allow
you
to
load
web
applications
or
websites
onto
the
r
weave
itself.
A
So
this
will
allow
us
to
actually
run
our
app
in
the
r
weave
itself
and,
as
it
writes
to
the
sounds
kind
of
kind
of
weird,
but
it's
pretty
cool.
So
let's
check
this
out.
So
if
we
do
our
ar
kb
and
we
say
gateway
so
that
it'll
use
our
local
gateway,
local
host
1984
and
our
wallet
key.json
and
then
we're
going
to
tell
it
to
deploy
public
and
public
is
our
entire
spelt
app?
So
we're
going
to
tell
it
to
deploy
that
and
say
yes
and
it
deployed
it
at
this
url,
which
is
cool.
A
So
if
I
command
click
it,
I've
got
my
app
and
it's
running
on
our
little
local.
Are
we
and
if
I
create
a
pen,
it's
going
to
grab
my
location
or
weave,
rocks
yay
check
in
it's
going
to
request
my
wallet,
so
I'm
going
to
do
my
password
and
accept
to
sign
a
transaction,
it's
going
to
sign
the
transaction
yay
and
then
I'm
going
to
go.
Look
at
my
pins
and
I've
got
my
transaction
on
the
wii,
pretty
cool.
A
So
that's
all
I
wanted
to
show
today
there's
a
lot
more
to
go
through.
That's
just
touching
the
surface,
but
there's
the
wallet,
the
local
environment,
the
library,
this
ar
kb
tool,
there's
smartweave
contracts
on
here
so
smartweave
you
can
actually
write
with
javascript
or
any
language
smart
contracts
and
deploy
them
to
the
weave
profit,
sharing
tokens,
profit
sharing
communities,
it's
a
whole
new
thing
that
that
is
worth
exploring.
A
There's
a
whole
setup
of
open
web
foundry
hackathons.
It's
worth
digging
into
you're
interested
in
building
stuff
for
our
weave
and
there's
a
huge
amount
of
resources.
The
developer
discord
is
great
and
then
there's
some
projects
out
here
that
I've
provided
links
to
in
the
readme
ar
go
is
interesting.