►
From YouTube: IPFS ALL HANDS 🙌🏽📞December 3, 2018
Description
newsletter: https://tinyletter.com/ipfsnewsletter
A
A
A
B
A
B
B
Hello:
okay,
let's
begin
hello
there,
my
name
is
Portia
and
welcome
to
the
ipfs
weekly
call.
This
is
a
call
where
we
find
out
all
the
interesting
things
that
are
happening
in
the
ipfs
community.
How
we
usually
do
these
calls
is
that
we
start
with
announcements.
Then
we
get
into
the
main
presentation
and
we
finish
up
with
Q
&
A,
so
we're
looking
for
an
agenda.
Let's
see
you.
B
Thank
you.
Thank
you
rob
and
before
we
begin
I'd
also
like
to
thank
Alli
for
taking
notes
for
today.
So
thank
you
all
excellent.
Do
we
have
any
announcements
that
we
like
to
start
off
with.
B
So
tomorrow,
I
am
holding
a
contribute
to
open
source
ipfs
day,
it's
going
to
be
from
6:30
to
9
and
it's
a
great
chance
for
people
to
dive
in
into
the
ipfs
codebase
and
contribute.
So
this
is
the
actual
event
and
if
you
are
maintainer
and
if
you're
interested
in
what
we'll
do
during
the
event,
I
have
a
brief
outline
of
the
three
different
tracks
to
contribute.
B
I've
gone
to
contributing
events
before
and
in
many
cases,
I
was
not
able
to
actually
contribute
or
I
was
at
not
that
level.
So,
in
order
to
not
have
that
frustration
for
the
people
who
are
arriving
I
broke
this
event
up
into
three
events:
I
mean
three
tracks,
so
I
will
give
a
presentation
of
what
is
ipfs
and
what
we've
been
doing
so
far,
and
then
I
will
break
it
up
into
three
different
tracks,
which
is
what
is
get
for
the
beginner.
So
this
is
B
I'm
trying
to
make
this
as
beginner-friendly
as
possible.
B
The
second
track
for
people
who
aren't
familiar
with
our
project,
it's
ipfs.
How
can
I
use
it
so
even
for
the
folks
who
are
not
able
to
contribute
they'll
be
able
to
understand
what
is
ipfs
and
look
at
some
example.
Applications
that
use
ipfs
and
for
everyone
else,
I'm
going
to
add
some
more
links,
but
I
have
contributing
to
ipfs
first
issues,
which
include
contribution
guidelines,
and
it
also
includes
issues
that
are
labeled
as
easy.
B
C
B
So
this
is
a
first
event
and
we're
not
going
to
livestream.
That
being
said,
we
are
going
to
post
the
presentation
of
what
does
I,
professed
and
such
and
for
people
who
are
working
on
the
je
s
ipfs
or
working
on
go
ipfs.
If
you
can
just
like
look
at
some
of
the
pull
requests
and
just
look
it
over
and
see
if
you
can
actually
commit
it,
that
will
be
great
for
our
next
event,
we're
trying
to
figure
out
if
it'd
be
feasible
for
us
to
actually
stream
the
event
live.
B
B
Okay,
I
see
that
this
issue's,
not
public
so
on
I,
will
find
a
place
to
make
this
issue
public
so
that
everyone
can
actually
look
at
it
and
actually
put
in
comments
and
such
so.
Thank
you
Matt
any
other
comments
or
announcements
which
is
in
gallery
view.
Weekends
know
already
thank
you
and
we
are
going
to
get
into
our
main
presentation
from
Jake
and
he's
going
to
show
us
some
of
the
awesome
work
he's
been
doing
with
the
live,
p2p
JavaScript
API,
so
Jake.
Please
take
it
away.
D
D
We
also
have
circuit
relay,
has
been
enabled
by
default,
lit
p2p
and
Lapidus,
which
are
now
state
machines
and
then
CAD
DHT
now
has
Interop
with
go
for
ipfs.
So
yeh.
Let's
talk
about
those
yeah
so
delegated
routing
like
what
are
we
trying
to
accomplish
with
that?
Because
a
lot
of
times
we
have
the,
we
can
use
the
DHT
and
we
get
a
lot
of
this
out
of
the
box
with
the
DHT.
But
there
are
some
instances
where
the
DHT
doesn't
get
us
everything.
D
So
a
couple
scenarios
for
this
are
low
resource
nodes
nodes
that
are
in
maybe
IOT
devices
or
restrict
browser
space
that
really
don't
have
the
resources
to
handle
maintaining
a
DHT.
This
supports
that
or
low
availability
nodes.
This
is
going
to
be
probably
a
very
common
thing
with
browsers
where
they're
you
know
you
turn
on.
You
create
some
content,
whether
it's
in
pure
pad
or
something
like
that,
you
create
a
new
pad,
and
then
you
close
your
browser
down.
You
shut
your
laptop
down.
Now
nobody
is
able
to
get
that
content
anymore.
D
D
D
There
is
an
example
on
github
I'll,
just
pop
this
open
real
quick.
So
you
can
see
it
is
in
the
J,
asleep
p2p
repo.
It
has
all
the
code
there.
You
can
run
through
it
simple
working
one
thing
to
note
right
now.
This
is
dependent
on
a
update
to
go
ipfs
which
is
pending
for
it
to
work
against
a
running
gateway
node,
but
it
will
work
out
of
the
box
as
long
as
you
point
it
to
an
IP
FS
nodes
that
supports
the
endpoints.
D
Currently
Jas,
ipfs
API
doesn't
support
that
because
we
don't
have
refs,
built-in
and
refs
are
what's
needed
to
actually
register
another
person
to
provide
your
content.
So
if
you
go
and
say,
hey
provide
this
content
for
me,
it
has
no
way
of
automatically
like
going
and
fetching
and
pulling
your
content
so
there
we
would
need
to
change
how
that
works
or
introduce
refs
to
JSI
PFS,
the
delegate
modules
for
peer
and
content,
routing
they're
already
on
NPM.
You
can
go
use
them,
pull
them
down.
D
Yeah
circuit
relay,
so
one
of
the
things
we
noticed
is
we
in
both
go
and
jaea
slippy
to
be
we
weren't.
Turning
on
circuit
relay
dialing
by
default,
so
if
you
didn't
speak
the
same
over
the
same
transport
as
another
node,
you
wouldn't
be
able,
nobody
would
be
able
to
dial
to
you,
even
if
you
were
connected
to
a
relay
that
could
translate
that
communication.
D
E
D
We
go
all
right
state
machine
updates,
so
Jess
live
p2p
and
Lapidus,
which
are
all
state
machines
now
and
the
reason
we
did
that
is
so
that
we
could
get
better
flow
control
both
at
the
start
stop
layer
as
well
as
like
the
connection
layer.
So
in
with
this
update,
we
expose
a
new
dial
FSM
method
in
Jace
lupita
P,
in
what
that
does
is,
rather
than
getting
a
like
normal
interface
connection,
you
actually
get
a
state
machine
connection
which
enables
you
to
hook
into
a
bunch
of
events,
they're
linked
here,
the
variety
of
events.
D
We
introduced
a
closed
method
because
previously
we
didn't
have
a
closed
method
on
the
normal
connection,
and
so
it
was
kind
of
a
annoying
for
users
to
be
able
to
close
the
connection.
This
makes
that
a
lot
easier.
So
as
soon
as
you
get
that
state
machine,
you're
done
with
the
connection,
you
just
call
closed
and
it
will
shut
it
down
and
the
other
side
will
hang
up
and
it's
a
lot
cleaner.
We
also
improved
debug
logging
for
connection,
because
this
was
this
was
a
big
pain
point
for
a
lot
of
developers.
D
D
Way,
alright,
so
with
that,
we
can
go
ahead
and
just
run
debug
we're
listening
for
a
wild
card
on
the
Lib
PD
PD
connections
for
the
source
listener
that
will
boot
up
in
our
other
window.
We
will
do
that
for
the
dialer
and
you'll
see
these
messages.
Spamming
out,
I'll
go
ahead
and
make
this
one
window
bigger.
Oh,
no,
that's
not
very
okay,
so
we
can
see
that
we
have
messages
here.
Tells
you
which
node
is.
This
node
is
dialing
out.
It's
dialing
to
this
other
node.
D
D
If
it's
finished
crypto,
which
crypto
it's
selecting
when
crypto
is
done
and
then
just
every
step
of
that
process
is
a
state
machine.
Any
time
it's
state
is
changing
or
is
in
process.
We
log
that
out.
So
you
can
get
a
lot
more
verbose,
debug
logging
to
figure
out.
What's
going
on
with
the
connections.
D
So
with
that,
we
also
with
the
state
machines
for
Lib
p2p
start
and
stop
states
are
now
idempotent.
We
had
issues
with
users
where
they
were
trying
to.
They
wanted
to
know.
If
the
lid
p2p
node
was
started,
so
they
would
have
listened
or
they
were
doing.
Some
like
Genki
calls,
because
the
callback
stuff,
which
will
be
illuminating,
hopefully
in
the
not
too
distant
future,
but
this
solves
that
by,
if
you
want
to
know
if
live
p2p
is
started,
just
call
start
wait
for
callback
and
it
will
done
it
be
done.
It's
already
started.
D
This
has
removed
a
lot
of
blockers
also
for
the
implementation
for
IP
NS,
which
is
getting
closer
and
closer
so
working
in
JSA
PFS,
so
awesome
work
bashful
on
that
and
then
our
next
step
is
going
to
be
turning
on
the
DHT
by
default
in
JSI
PFS,
because
right
now,
it's
experimental
and
hopefully
very
soon,
we'll
see
that
is
no
longer
experimental
and
just
running
all
the
time.
So
you
can
get
peers
and
content
yay.
B
B
F
D
Yeah,
so,
ultimately,
when
you're
doing
delegate
routing
the
first
thing
you
do:
is
your
bootstrapping
to
bootstrap
to
single
notes.
Typically,
this
is
a
gateway
node.
So
this
is
something
that
is,
it's
still
a
problem
with
NAT
reversal.
But
this
is
it's
a
lot
more
specific
so
that,
if
you're
an
environment
where
you
can
control
your
port
mappings,
you
can
delegate
hey
I'm,
going
to
be
dialing
out
to
this
Gateway
node
and
I'm
going
to
be
doing
an
HTTP
API
request
to
that
node.
D
F
Not
necessarily
my
question
was
specifically
after
you
do
the
the
content
routing
right
like
you,
get
a
lease
of
peers
and
those
peers,
probably
our
other
people's
desktops.
So
now
your
desktop
has
to
die
out
and
that's
like
where
the
net
reversal
problem
really-
and
my
question
is:
is
there
any
test
to
see
like
the
level
of
connectivity
from
a
node
on
gpfs
to
the
rest
of
the
network?
Busy
use
IPC
be
a
whole
bunch.
A
does
it
defaults
to
secretary
like.
D
So
we
don't
have
tcp
hole
punching
into
ATP,
yet
that's
one
of
the
things
that
we
want
to
look
at
getting
added
in
the
near-future
circuit
relay
was
a
big
thing
that
we
wanted
to
make
sure
was
on
by
default,
to
help
with
a
lot
of
that,
because
that
is
a
huge
problem
of
being
able
to
do
with
that.
We
also
have
the
nat
manager
work,
which
we're
going
to
try
to
be
working
on
for
early
next
year
to
help
get
around
hope
with
some
of
that
tcp
hole
punching.
F
F
There
for
like
avoiding
second
relay,
is
by
just
checking
in
on
UTP
like
it
seems
like
you,
do
a
lot
of
updates
recently
and
then,
probably
as
the
bug
fix
that
we
needed,
and
I
qtp
already
as
hole
punching
by
design
and
so
HTTP.
So
it
makes
things
simpler,
something
worth
checking
out.
Okay,
I
will
not
steal
more
time.
There's
like
three
thousand
questions.
E
Two
questions:
one
is
just
a
request
for
clarification.
When
you
say
Libby
2p
is
a
state
machine
to
define
what
you
mean
by
that.
But
then
my
question
is:
is
around
delegated
routing
you
the
way
you
described
it?
It
sounded
like
the
node
that
you're
delegating
to
is
actually
holding
on
to
that
content
for
some
amount
of
time.
Is
that
true?
Or
is
it
just
repeating
your
provide
statements
and
providing
routing
to
you
as
a
new
yeah.
D
So
I'll
answer
in
reverse
order,
so
for
the
delegate
routing
when
you
provide
content
and
you
make
that
call
that
HTTP
call
out
to
your
Delia
node,
say:
hey
I
want
to
provide
this
content.
That
node
will
then
come
back
and
it
fetches
the
content
from
you
and
becomes
a
provider,
and
then
it
registers
as
a
provider
for
that
content.
So
once
that
transaction
has
happened,
you
could
shut
down
and
never
turn
your
note
on
again,
but
you
that
content
will
exist
on
the
network.
Well,.
E
E
D
On
ipfs,
so
it's
it's
like
a
routing
plugin
for
ipfs
that
plugs
into
the
p2p
so,
and
this
is
why
we
introduced
like
the
custom
routing,
because
there
are
probably
specific,
lit
p2p
use
cases
for
people
that
aren't
using
IP
FS,
where
they
might
want
to
build
their
own
solution
around
that,
and
then
they
would
be
able
to
go
and
create
their
own
content,
pure
pre
routers.
For
that,
ok.
E
C
D
Implementing
it
in
the
connection
is
we
actually
had
a
fun
issue
and
a
slip
p2p
where
the
we
didn't
enforce
encryption
on
incoming
connections.
So
when
it
came
in,
if
the
node
didn't
negotiate
and
say,
okay
I
want
sekai.
Oh,
we
wouldn't
enforce
that
it's
so
now
it
can
actually
go
on
and
say
no
I'm
going
to
forcefully
go
through
that
state.
Like
I've
dialed,
we've
successfully
dialed
now
I'm
moving
into
the
crypto
phase,
and
if
you
try
to
use
a
different
protocol,
that's
not
in
the
crypto
protocols.
It
will
fill
the
connection.
Oh.
H
D
D
We
don't
have
UDP
support
yet
I
think
there
is
a
transport
somewhere,
that's
been
kind
of
dead
for
a
while,
but
I
think
that's
one
of
our
upcoming
priorities.
I
think
that
might
be
in
our
roadmap
discussion
for
next
year
is
getting
that
UDP
support
and,
lastly,
which
crypto
algorithms
do
you
support.
So
currently,
are
you
talking
about
four
keys
or.
G
D
That
is
coming.
We
have
I've
got
a
pure
a
pull
request
open
for
the
e25,
everyone,
nine
keys,
the
only
issue
there
is
lip
PE,
the
keychain,
which
we
use
mostly
in
ksi
PFS
that
currently
X
needs
to
export
the
keys
to
save
them
into
the
keychain,
and
the
only
key
that
has
export
support
right
now
is
RSA.
So
I
just
need
to
go
fix
that,
but
my
goal
is
to
have
support
for
that
released
by
the
end
of
the
year.
Cool.
D
So,
yes,
it
anytime,
you
call
we
actually
like
melded
a
lot
of
the
logic.
So
if
you
call
dial
dial
will
actually
in
turn
call
dial
protocol
which
in
turn
calls
separate
dial
FSM,
it
might
not
yet
actually
might
be
lying
I.
Don't
need
to
look
at
that,
but
the
goal
is
to
turn
that
all
in
and
white
blue
and
move
to
the
a
sink,
interrater
work
which
hopefully
will
have
some
open
proposals
for
that
soon.
That
will
just
move
all
of
that
logic
into
that
to
just
simplify
that
API.
F
So
it's
not
necessarily
a
question
it
just
like
two
quick
points
for
clarification
by
the
way
open
Bazaar
is
happy
to
hear
that
about
the
new
keys
added
support.
That's
for
that
I
know
that
also
excited.
So
in
terms
like
clarification,
so
two
things
we
will
not
directly
support
UDP
as
a
transport
for
a
peer-to-peer,
and
that's
because,
like
we
boutta
peer
design,
assumes
a
lot
of
like
stream
based
protocols,
and
so
you
have
to
have
some
kind
of
notion
of
the
second
circuit
in
a
stream.
F
F
What
we
can
have
today
is
UTP
and
I
know
like
these
three
weather
elements,
with
very
pretty
much
like
the
same
letters
just
confuse
everyone,
but
like
UTP,
ease
that
transport
developed
by
the
beam
current
group
for
BitTorrent,
that
is
on
top
of
UDP,
but
adds
the
the
stream
flavor
that
I
think
likely
to
the
pyramids.
So
you
can
get
the
benefits
of
UDP
like
it's
going
to
be
on
a
UDP
port.
You
can
get
the
hole,
punching,
etc,
but
I
can
get
as
the
properties
that
you
need
to
actually
use.
F
It
hope
it
was
useful
information.
The
other
clarification
is
people
were
asking
about
the
difference
between
content,
routing
and
pre
loading
notes,
just
like
a
very
quick
distinction.
So
in
a
leap
you
to
peer
feel
today
we
are
this
concept
of
like
records,
and
you
know
my
name
record
for
a
penis
can
be
a
provider's
record
for
the
DHT.
For
like
saying
about
you
store
some
file
and
those
things
like
they
don't
know
the
structure
there
is
the
plan
to
move
them
into
I
feel
the
align
but
I
a
lot.
F
Yes,
and
and
that's
the
thing
that
gets
used
by
content
so
like
when
I'm
asking
other
nodes
to
provide
a
file
or
when
I'm,
when
I'm,
adding
a
file
to
a
professor
I'm
going
to
do
a
provide
query
and
so
I'm
going
to
other
nodes
in
the
network
that
I
have
this
file
and
then
is
about
puddings
provided
records
out
there.
Then
that's
what
goes
into
this.
Like
delegated
routing
scheme,
it
doesn't
move
the
file
to
the
other.
F
To
fetch
these
file
for
me,
so
that,
like
when
I'm
fetching
it
from
a
low
power
device
or
a
constrained
runtime
like
a
browser,
you
can
have
nodes
effective
responsibilities,
I'm
just
like
assembling
all
the
pieces
so
that
they
can
ban
or
extreme
the
file
faster
to
you.
It's
not
necessary
for
the
full
operation,
but
I
can
something
that
just
makes
the
experience
a
lot
like
the
proceed.
Speed
increases
dramatically
but
like
this
constants
are
different
like
when
you
do
a
provide
in
whipped
with
EPO,
and
you
are
not
setting
the
power
anywhere.