►
From YouTube: State of IPFS-in-JS - Alex Potsides
Description
Alex will walk us through where IPFS in JS is headed in 2023.
A
Hi
I'm
Alex
posides.
You
may
recognize
me
from
talks
such
as
the
little
elevator
pitch
downstairs
earlier
today.
I'm,
making
brain
on
the
internet,
I
am
on
the
IP
stewards
team
I
maintain
JS
Lupita
P
JS
ipfs,
big
chunks
of
multi-formats,
basically
most
of
it.
If
you
view
some
js
and
there's
a
bug,
it's
probably
my
fault,
for
which
I'm
truly
sorry
somebody
talks
about.
It
was
about
the
state
of
JS
sort
of
the
state
of
ipfs
in
JS
in
2022,
but
that
encompasses
quite
a
lot
of
things.
A
So,
like
you
know
the
elastic
ipfs
stuff
that
we
heard
about
earlier.
A
lot
of
that
is
based
on
JS,
so
I'm
not
going
to
cover
that,
because
there's
going
to
be
a
deep
dive
later,
which
I'm
very
excited
about
how
am
I
going
to
cover
so
I'm
going
to
talk
about
what
I've
done
what's
been
going
on
for
the
last
year.
So
all
right,
that's
me,
see
me
on
the
internet.
A
A
A
A
You
gotta
meet
the
developers
where
they
are
and
there's
an
awful
lot
of
JS
developers
out
there
like
12.4
million
JavaScript
developers
in
the
world,
and
each
one
could
be
leveled
up
to
be
a
web
3
developer,
and
why
would
you
make
them
learn
a
new
language
when
they
can
like
they're,
already
bewildered
Enough
by
all
the
stuff
that
we
talk
about?
Let's
not
make
them
learn
a
new
language
as
well.
I
mean
crikey
right.
Yeah
and
more
than
half
of
developers
use
JS
at
some
point
in
their
careers.
A
I
want
to
get
that
big,
more
bigger,
so
yeah,
so
a
little
bit
of
History,
so
jsibfs
started
off
as
a
clone
of
what
is
now
called
Cubo.
If
you
go
backwards
in
time,
far
enough,
you'll
notice
that
the
first
commit
is
actually
the
exact
same
one
that
kibo
has
with
the
same.
A
You
know
it's
one
again,
the
same
message
and
I
believe
you're
in
the
same
hash,
I
hope
the
same
hash
I
was
going
to
check
it,
but
then
Cuba
had
like
13
000
commits
or
something
and
I'm
not
going
to
page
back
through
that,
while
sitting
down
there
to
say
so.
Maybe
my
talk
isn't
100
factually
accurate,
but
it
definitely
has
the
same
kind
of
commit
at
the
start
of
the
history.
A
But
that's
that's
brought
some
interesting
challenges
along
the
way
because,
like
because
you
know,
as
Gus
pointed
out,
the
API
in
in
Cuba
is
very
much
aimed
at
CLI
use
and
then
to
speed
the
development
that
CLI
interface
was
then
turned
into
an
RPC
interface,
with
a
with
a
logic,
automated
process,
which
has
resulted
in
a
interesting
RPC
API.
Just
perhaps
not
like
it's
very
it's
great
for
for,
like
if
you're
trying
to
replicate
a
CLI
but
from
from
the
point
of
view
of
an
RPC
API.
A
Maybe
it
could
be
a
bit
more
streamlined,
but
we
have
always
tried
to
replicate
that
that
API
in
JS
ipfs,
For,
Better
or
For
Worse,
and
we
kind
of
realized
that,
like
you
know,
there
are
useful
bits
in
the
same
way
that
the
piece
of
P
was
split
out
of
Cubo
and
multi-formats
and
iPod
and
all
that
kind
of
stuff.
A
The
same
thing
happened
with
with
jsrpfs,
and
so
we
have
this
like
this,
this
ecosystem
of
modules
that
you
can
you
can
use
in
your
application
and,
like
you
know,
it's
an
interesting
thread
for
the
future,
because
maybe
maybe
you
can
be
an
ipfs
without
having
use
of
all
of
these
modules.
Maybe
you
can
be
in
ipfs
if
you
just
have
a
small
Focus
thing
that
maybe
maybe
speaks
to
your
use
case
more
than
trying
to
include
everything
so
just
hold
that
in
the
back
of
your
mind,
I'm
going
to
come
back
to
that.
A
A
Sorry,
it's
not
covered
it
was
tested
on.
The
way
in
this
is
these
These
are
the
downloads
of
ipfs
course
that
we
introduced
in
2020
and
it's
it's.
It's
gone
up
loving
out
slightly,
but,
like
you
know,
it's
still,
it's
still
pretty
good
11
000
downloads
last
week.
It's
quite
a
lot,
I
think,
and
there
are
lots
of
people
using
it.
A
So
so
who
is
using
it
so,
like
I,
said,
elastic
ipfs
use
bits
of
it,
so
Unix
FS
bit
swap
and
and
some
other
bits
and
pieces
which
again
I'm,
not
gonna
I,
don't
wanna.
My
spoilers
in
this
talk
lodestar
lodestar,
shipped
the
typescript
version
of
the
ethereum
2
implementation,
which
is
super
exciting,
so
they're
using
they're
using
Json
P2P.
A
For
that-
and
you
know
so-
we've
had
a
whole
rough
of
improvements
that
that
make
it
a
more
viable,
a
more
viable
tool
to
use
for,
for
the
kind
of
things
that
we
want.
People
to
use
it
for
fantastic
TBD,
I
love
this.
So
obviously
we
all
know
about
webto.
A
We
all
know
about
web3,
and
now
people
are
bored
of
that
they've
gone
straight
to
web
five,
so
TBD
is
building
TBD
is
the
it's
the
it's,
the
decentralized
finance
startup
created
by
Jack
from
Twitter
and
they're,
calling
all
their
stuff
web
five.
So
yeah
we're
totally
in
web
5
now
as
well,
which
is
great
I'm.
Looking
forward
to
web
17.
A
obdb
three
box,
anchor
I
believe
bertie's
still
using
some
jsrp
verse
block
is
another
another
TBD
related
thing:
yeah
lots
of
people
are
using
it
like
this
is
super
exciting
super
super
duper,
exciting
I'm
like
we're,
we're
developing
it
so,
like
we've
had
loads
of
releases
I'm
not
going
to
go
through
everything.
There's
quite
a
lot
of
stuff.
Here,
I'd
meant
to
start
a
timer
and
I
completely
forgot,
so
yeah
Brendan
you're,
just
gonna,
have
to
wave
manically
if
I
go
five
minutes,
I've
only
done
five
minutes.
A
I've
got
10
minutes
left.
Is
that
what
you're
saying
Fab
anyway
so
great
so
anyway,
lots
of
stuff?
So
so
we
start
with
an
esm.
Refactor,
so
that
was
we
were
dual
publishing
esm
and
CGS
some
other
stuff
and,
like
you,
you'll
notice
that,
like
gradually,
if
you
go
about,
you,
don't
have
to
read
this.
A
Obviously,
if
you
go
back
to
all
the
release,
notes
that
are
on
the
repo
you'll
see
that
we've
kind
of
we've
ramped
down
a
little
bit
on
trying
to
ship
new
features,
so
I
mean
notable
things
that
we
did
show
was
like
a
DHC
implementation.
Finally,
finally,
after
like
five
years,
I
just
stick
to
the
people-
oh
I'd
use
it,
but
there's
no,
there
is.
There
is
there's
a
DHT
implementation.
It's
brilliant!
You
should
use
a
super
good.
A
Please
report
bugs
we
kind
of
like
try
to
shore
up
a
lot
of
the
foundation,
so
a
lot
of
the
work
has
shifted
to
Live
Peter
p
in
the
last
year.
So
we
shipped
one
thing
we
should
that
was
quite
interesting.
Was
a
typescript
refactor,
so
it's
a
ground
up
rewrite
everything
became
typescript
which
gives
us
like
way
better
tooling.
A
It
tells
us
when
we're
like
it's
the
thing
about
JavaScript
is
that
it's
really
tough
to
do
large-scale
refactors,
because,
obviously
you
don't
know
what
the
type
of
the
thing
is
that
you're
dealing
with.
So
we've
got
like
it's
like
you
know,
we've
got
this
thing
that
was
invented.
What
in
the
70s
like
typing,
and
that's
great
awesome,
don't
know
what
took
us
so
long
anyway.
A
Here
we
are,
we
shipped
that
and
then
yeah
lots
of,
like,
like
dos
protection
stuff,
has
gone
into
Lupita
P
to
make
it
way
harder
to
mistreat
the
nodes
because,
obviously
like
particularly
for
load
star
like
it's
a
very
adversarial
Network
and
so
there's
lots
of
improvements.
They've
got
in
there
lots
of
performance
stuff
as
well
and
then
we're
trying
to
like
the
other
thing.
The
other
thread
that
we've
been
like
trying
to
follow.
A
Is
this
connectivity
so
trying
to
make
it
easier
to
talk
to
the
rest
of
the
network
from
browsers,
because
it's
great
having
a
DHT?
A
If
you
then
make
a
query
and
you
get
some
results
back,
particularly
from
the
browser,
and
then
you
can't
connect
to
one
of
these
nodes
as
pointless,
so
things
like
web
transport,
webrtc
are
going
to
let
you
talk
directly
to
directly
to
Cuba
nodes
from
from
the
browser
which
is
very
exciting,
so
web
transport
has
been
shipped
it's
in
Cuba
right
now,
you
can
use
it
with
a
bit
of
custom,
configuration
very
exciting
okay.
So
what
else?
So
performance
we've
been
doing
a
lot
of
performance
work?
A
So
this
is
one
thing
this
is.
This
is
from.
This
is
actually
from
lodestar.
This
is
the
when
they
change
the
typescript
implementation
of
the
P2P,
so
the
graph
that
goes
is
the
higher.
A
This
is
basically
it's
the
it's
the
gossip
sub
heartbeat,
so
this
is
when
God
system
has
to
do
all
its
stuff,
so
it
looks
like
mesh
Pairs
and
like
gossips
data
and
like
graphs,
appears
and
all
that
stuff,
and
you
can
see
like
there's
a
massive
decrease
in
the
amount
of
time
it
now
takes
to
run,
run
the
heartbeat.
So
this
is
fantastic.
This
is
exactly
the
kind
of
thing
that
we
were
hoping
to
see,
so
we
fixed
loads
of
like
performance
issues
and
memory
leaks
and
that
kind
of
stuff.
A
So
if
you
haven't
upgraded,
please
upgrade
it's
it's
very,
very
exciting,
but
wait.
There's
more
there's
more
performance
improvements,
more
more
forms
Improvement!
So
here's
so
this
is
a.
This
is
a
this
is
a
Warcraft,
so
these
stats
are
not
made
up.
They
are
absolutely
not
made
up.
They
are
from
every
time
we
run
the
interop
suite
for
JS
ipfs.
We
we
transfer
data
between,
go
and
JS
and
then
between
JS
and
JS,
and
then
Json
go
and
like
all
that
kind
of
stuff.
A
So
this
is
a
logarithmic
graph,
so
that
the
axis
on
the
bottom
is
the
size
of
the
file.
The
axis
on
the
side
is
how
long
it
takes,
and
so,
as
you
can
see
like,
obviously
it
gets
goes
up
as
the
Falls
get
bigger,
but
you
can
see
that
there's
definitely
some
strata-
and
it's
also
it's
logarithmic,
so
bear
in
mind
that
that
the
is
probably
go
to
the
right.
It
would
actually
totally
diverge.
So
obviously,
it's
quite
hard
to
look
at
so
interesting
things
in
it.
A
So
like
so,
the
the
the
the
circled
box
and
the
blue
is
go
to
go
so
wouldn't
it
be
great
if
it
was
just
go
like
if
there's
no
JS
Andrew
just
go
because
go
is
really
fast
right
and
JS
is
really
slow.
Well,
no,
actually
you
can
see.
It
goes
actually
quite
high
on
that
list.
So
I
will
carry
out
that
this
is
running
on
my
laptop
I.
Think
the
story
on
Linux
is
slightly
different.
A
I
think
Linux
has
a
better
performance
than
Mac
OS
does,
but
you
can't
go
back
through
all
the
CI
builds
for
JS
ipfs
and
pull
out
these
stats,
so
the
the
more
recent
versions
are
even
better.
So
this
is
the
most
recent
version
of
jsrpfs
shipped
like
two
days
ago:
version
65.
So
you
see
it's
actually
the
fastest
one
out
of
all
of
these
she's
like
which
is
great
I,
mean
it's
fast.
It's
really
fast.
A
These
are,
these
are
great
numbers
and,
as
you
can
see
like
I
said,
this
is
all
the.
This
is
all
the
versions
of
ipfs
to
release
them
in
well,
almost
the
last
year,
the
last
four
releases,
and
you
can
see
that
it
is
going
faster,
every
release,
we're
kind
of
ratcheting
that
that
performance,
so
this
is
great
so
also
other
things.
So
this
is
not
content
Discovery.
This
is
when
you
know
you've
connected
to
appear,
and
this
is
just
bit
swap
performance,
but
it's
good
I
mean
it's
really
good.
A
A
So
those
are
the
actual
numbers
so
like
rubbish
for
134
Meg
file,
one
single
file,
it's
almost
twice
as
fast
use.
Js,
it's
really
fast.
You
know,
I
made
the
joke
on
stage
just
now,
though,
like
it's
a
it's
a
language,
that's
completely
not
suited
for
this
kind
of
thing,
but
it
actually
really
is.
Javascript
is
really
really
good
at
I
o
and
most
of
what
we
do
is
IO,
so
you
should
totally
use
it,
but
what's
next,
is
it
the
end
of
the
road
because
we're
about
to
we're
about
to?
A
Like
what,
if
the
future
is
no
JS
ipfs,
what
if
the
features
just
use
the
component?
So
when
I
think
of
Jerry's
IP
address
is
what
I
think
of
so
at
the
very
top
level
we
have
the
ipfs
API,
so
the
adcat
and
all
that
kind
of
stuff
beneath
that
you
have
Unix
FS,
then
you
need
to
you
need
to
create
a
dag
out
of
unixf
objects.
A
You
have
dag
PB
and
underneath
that
you
have
like
the
networking
layers,
you
have
bit
swap
the
P2P,
which
does
all
the
really
gnarly
networking
and
then
the
Block
store
itself
stores
all
the
blocks
but
like
these
are
just
this
is
the
perfect
architecture.
It's
just
boxes
and
Lawn
lines
drawn
and
the
nice
thing
about
boxes
is
you
can
swap
them
out
for
other
stuff.
So
what?
If?
What?
If
you
know
your
architecture
was
not
that?
A
What
if,
like
you,
just
sort
some
stuff
out,
so
you
still
have
this
high
level
API
like
adcat,
all
the
file
system,
stuff
and
beneath
that
you
have
maybe
a
different
file
system,
not
you
Nexus.
First,
what?
If
you've
had
like
winner,
first
or
whatever,
the
fs
is
that
you
need
to
get
your
job
done,
I
mean
that
would
be
great.
Wouldn't
it
maybe
you
wouldn't
use
PB,
maybe
you'd
use
taxable.
A
A
What
if
like
you're
you
know,
you
just
saw
Alan,
giving
a
little
talk
about
other
things
like
separating
the
reads
and
the
rights
and
that
kind
of
thing
what?
If
what?
If
your
data
still
was,
actually
a
car
file,
you
could
just
Swap
all
that
out,
underneath
someone's
all
in
from
the
same
interface.
This
is
great
so
like
maybe
this
is
the
kind
of
the
kind
of
thing
that
you
should
be
building
to.
A
A
We're
going
to
have
individual
components
that
you
can
pull
together,
create
your
thing,
nice
and
lightweight,
easy
to
use.
Hopefully
a
lot
smaller
we're
going
to
go
web
first.
So
we
want.
We
don't
want
to
use
node
apis,
preferably
obviously
there's
still
summer
node
apis
for
stuff,
that's
only
possible
in
node,
like
TCP,
and
that
kind
of
thing,
but
for
for
the
most
part,
it's
going
to
be
web
first,
smaller,
more
lightweight,
easily
composable.
A
But
you
know
we're
also
going
to
have
an
easy
way
to
get
started,
which
is
going
to
be
pomegranate,
which
will
have
like
some
sensible
defaults,
useful
transports,
but
again
they're
going
to
prioritize
yeah
the
browser
and
talking
to
nodes
remotely
and
that
kind
of
obviously
talking
to
server-side
notes
and
that
kind
of
thing
and
loads
of
little
P2P
improvements
that
we
still
want
to
make.
So
you
should
you
should
constantly
Peter
P
day
I'm
going
to
be
there
I'm
going
to
talk
about
lots
of
stuff.
A
We
need
some
help.
Naming
like
naming
is
the
worst
we're
gonna.
So
much
energy
is
going
to
be
expended
on
this.
It's
going
to
be
great.
This
is
the
this
is
the
issue,
so
you
should
pick
up
your
phones
right
now
get
that
QR
code
and
it
will
take
you
to
the
GitHub
issue.
With
a
poll
where
we're
going
to
decide,
you
can
seize
the
means
of
reduction,
we're
going
to
decide
the
name
for
whatever
the
next
thing
is
called.
Pomegranate
is
the
name
at
the
moment.
A
I'll
tell
you
why
later,
but
I'm
not
now
I'm
running
out
of
time,
but
it's
a
temporary
name,
it's
not
available
in
npm,
so
we
can't
use
it
we're
going
to
use
something
way
better,
but
we
want
your
help
to
name
it.
So
please,
please
do
grab
that
QR
code.