►
From YouTube: IPFS Providers Strategies Walkthrough
Description
Michael discusses his work on IPFS providers strategies (how an IPFS node tells the network the content it is serving) and where the next improvement opportunities are.
B
B
A
C
A
A
Kind
of
stuck
to
the
to
the
format
that
you
suggested
Molly
I
thought
that
helped
organize
my
thoughts,
and
you
know
this.
It's
kind
of
a
big
topic,
so
I
feel
like
there's
gonna,
be
a
lot
of
questions
and
and
not
all
of
its
gonna
be
totally
relevant.
It
should
follow
up
in
like
in
issues
and
stuff
like
that,
so
some
feel
free
to
you
know,
post
those
questions
and
to
me
directly.
We've
kind
of
talked
about
them
here.
A
A
We
have
really
ambitious
goals
for
the
amount
of
content
that
we
want
to
have
in
ipfs,
and
therefore
announcing
at
that
granularity
I.
Just
it
seems
like
any
to
any
solution
we
come
up
with,
as
the
underlying
mechanism
is
going
to
suffer
from
the
same
problem,
which
is
just
we're.
Gonna
flood
we're
gonna
flood
the
network
with
announcements.
So
we
want
to
avoid
that
I
think,
even
if
it
could
support
it,
it
would
be
worthwhile
to
avoid
it.
If
we
can't
it
just
frees
up,
you
know:
there's
an
opportunity
cost
there.
Michael.
A
F
A
A
Okay,
so
current
state
of
the
provider
strategies
and
of
idea,
fest
I
wish
this
wasn't
such
like
a
complicated
thing.
It
seems
relatively
straightforward,
I
think
from
the
right
people.
It
probably
is
I
thought
the
best
way
to
kind
of
give
the
current
state
is
to
go
into
it
kind
of
how
the
work
developed.
It's
not
it's
not
that
long.
So
I
like
to
go
to
it
integrates
with
detail,
but
I
wanted
at
least
cover
ups
covers
some
of
the
highlights.
A
A
There's
just
there's
some
workers
in
go
ipfs
and
there's
some
code
that
routes
new
blocks
to
these
workers
and
these
workers
announced
without
any
context,
whatever
blocks
that
they
come
into
contact
you
and
it
basically
kills
our
the
ability
for
us
to
have
flexible,
providing
the
kind
of
providing
we
sort
of
like
not
bike
shed.
But
the
sort
of
providing
we
really
go
into
into
detail
over
requires
us
to
have
structural
knowledge
of
some
kind
of
of
the
things
that
were
of
the
things
that
we're
providing.
A
The
goal
of
the
new
system
is
to
is
to
essentially
yank
that
responsibility
from
from
bid
swap
and
put
it
into
IP
FS
and
then
and
then
from
there.
We
in
theory
have
more
control,
we're
gonna
do
an
ad.
We,
you
know
we
have
the.
We
have
the
root
node,
we
can
do
the
ad,
and
then
we
could
do
some
stuff
using
like
the
dad
service
to
determine
structure
and
crawling
that
kind
of
thing
to
determine
what
to
provide
labor
so
that
so
the
overall.
A
Shift
it
swap
into
and
to
go
out
confess
and
at
any
point
please
chime
in
with
Corrections
or
questions
or
anything.
So
this
work
went
through
some
stages
when
I
first
started,
admittedly,
I
didn't
know
anything
about
ipfs
and
this
sort
of
distributed
stuff.
So
there
was
some
I
got
pointed
in
some
directions
and
there
was
some
time
spent
just
figuring
out
what
the
ask
what
the
ask
was.
So
there
were
some
stages
at
the
beginning
where
there
just
were.
A
A
So
this
here
is
an
issue
that
started
way
back
in
November
way
back
in
November
and
that
and
it
kind
of
detailed
the
plan
at
the
top
and
the
plan
at
the
time
made
sense
to
me
and
evolved
in
such
a
way
that
it
we
just
ran
into
some
blockers,
so,
okay,
so
I'll
kind
of
go
over.
What
the
what
the
plan
we're
not
gonna,
go
into
too
much
detail
because
a
lot
of
this
change,
but
we'll
talk
about
some
of
the
complications.
A
So
basically,
we
were
like:
let's
remove
posts,
let's
remove
bits
off
front,
provide,
provide
and
we'll
add
the
equivalent
bit
swap
I
mean
I'm,
sorry,
the
equivalent
provide
into
ipfs
that
ended
up
being
it's
just
a
much
bigger
challenge.
Then
then
it
seems
at
first
glance
because
bit
swap
has
this
has
a
it's
a
very
simple
mechanism
where
all
blocks
that
you
come
into
contact
with
will
be
provided,
and
once
you
remove
that
you
now
have
to
go
through
the
entire
system
and
figure
out
what
actions
resulted.
What
blocks?
What
do
we
want
to?
A
So
our
goal
yeah
introduced
a
provider
and
provide
all
strategy
use
then
post
ad
that
was
kind
of
the
like
hey.
This
should
cover
our
main.
Our
main
use
case
then
we'll
make
the
provider
more
robust.
The
idea
here
was
like
hey,
like
it'll,
provide
as
quickly
as
bits,
aa
bit
swap
or
whatever
other
little
things,
that
we
use
that
we've
learned
along
the
way
that
it
was
that
he
was
gonna.
Do
we
deferred
this?
A
Actually
because
we
just
deferred
bringing
the
provider
and
the
Reaper
in
line,
because
it
was
yet
a
bigger
change
that
was
gonna
block
any
any
of
these
smaller
things
from
going
from
going
through.
So
the
idea
was
that
we
had
some
ideas
for
how
we
could
do.
Okay,
let's
there's
a
smaller
thing
we
could
do
and
we
can
attack.
We
can
tackle
the
Reaper
lighter
next.
A
The
next
thing
was
basically
like:
let's
just
detail
all
the
places
that
we
need
to
go
through
and
figure
out
where
we're
providing
calls
didn't
exist
that
they
need
to
now.
This
list
was:
it's
not
exhaustive.
Unfortunately,
though,
I
was
trying
to
be
at
the
time
I've
since
learned
of
a
few
of
a
few
places
and
I've
documented
those
elsewhere,
but
you
can
see
on
all
these
check
boxes.
That's
because
some
of
this
work
was
done
so
that
was
kind
of
there's
a
sort
of
pattern
here
for
the
providing
work
where
we
kind
of
go.
A
A
So
a
lot
of
the
work
that
still
needs
to
be
done
in,
like
the
newer
branches,
is
actually
done
to
some
extent,
or
at
least
has
prior
art
in
other
branches
and
so
I'll
retouch
on
that,
when
we
go
over
the
the
sort
of
list
of
things
where
they
are
now
but
but
yeah
anywhere,
you
see
a
checkbox
here,
you
can
jump
to
a
Pru,
but
usually
the
one
listed
listed
here
and
see
some
code
dealing
with
that
there
were
places
we
there
were.
There
was
kind
of
a
lot
of
things.
A
That's
not
quite
fair.
There
were
a
couple
of
things
shifting
around,
as
we
were
doing
this
work.
Quarry
API
was
one
of
those
things.
Just
you
know,
as
a
necessity
like
have
to
look
upgrade
all
those
things,
and
because
of
that,
some
of
these
things
were
in
a
car,
API
and
ready
to
be
modified
in
this
way
for
providing,
and
some
of
them
were
not
and
indications
that
they
were
not
at
the
time.
A
So
I
think
that
that's
a
thing
for
anyone
that
picks
it
up
you
just
kind
of
have
to
unless
you
kind
of
have
to
go
through
each
of
these
things
and
handle
in
case
by
case
set
it
up.
You
know
the
tests
are
gonna
tell
you
to
some
extent
if
it
works,
but
actually
verifying
with
the
provides
app
and
takes
a
little
time,
and
they
were
split
up
basically
into
additions
and
modifications.
A
These
are
things
that
you're
doing
to
your
own
repo,
with
content
that
doesn't
exist
in
the
ipfs
network,
yet
or
presumably
doesn't
exist
in
the
ipfs
network,
yet
or
at
least
not
as
far
as
you're
concerned,
and
then
there
were
also
a
number
of
things
that
you
have
to
go
through
for
linear
retrieving.
If
you
LS,
should
you
provide
all
those
things
previously?
That's
how
ipfs
worked.
You
know.
Any
any
new
blocks
came
into
contact,
even
if
they
were
basically
ephemeral
where
we're
gonna
be
we're.
A
And,
and
so
there
was
like
questions
around
that
kind
of
stuff
conversations
and
and
and
and
whatnot
there,
but
I
think
that
the
marching
orders
were
like,
let's,
let's
make
it
work
the
way,
the
way
it
worked
before
for
the
most
part,
these
you
know
these
things
that
we
obviously
want
to
tweak.
Is
this
registering
this
makes
sense
so
far,
Did.
A
To
read
to
the
code,
because
if
you
do
an
IPF
sls
and
you
don't
have
the
and
you're
Ella
saying
something
that
you
actually
don't
have
in
your
own
repository,
it
first
gets
brought
in
and
in
the
way
that
it
works
before
any
new
bits.
Lot.
Just
aggressively
was
like
hey
new
block.
All
like
prove
all
announced
that
I
that
this
block
exists
in
order
to
be
in
order
to
be
provided.
A
A
Was
probably
sake,
usage
on
my
part,
I
just
meant
that,
like
blocks
that
you're
not
paying
effectively
like
blocks
they're
gonna
come
and
go
like
you're
gonna
you're
gonna
do
an
IP
FS
get
for
something
that
you
want.
You're
gonna
provide
it
for
the
duration
that
you
have
it
and
then
obviously
or
not,
that's
just
the
way
it
worked
before
there
was
a
lot
of
like.
Maybe
it
doesn't
work
that
way,
but
I
think
those
changing
that
stuff
was
even
more
of
a
change
in
the
way
that
we
were
like
duh.
D
A
No,
that's
exactly
right.
There's
like
it
goes.
It
goes
both
ways
like
there.
There
are
things,
obviously,
where
you
don't
want
to
do,
providing
and
there's
things
where
you
do
want
to
do,
providing
we.
We
don't
have
that
flexibility,
so
you'll
see
later
I'll
get
into
it.
I'll
get
into
I'll
get
into
a
sort
of
the
list
of
things
that
I've
been
maintaining
lately,
which
is
that
the
reality
is
that
the
providing
strategy
we
we
have
opinions
within
ipfs.
A
This
is
just
me
speaking,
obviously
whatever,
but
this
is
my
understanding
of
like
what
what
people
would
like
is
that
within
ipfs
we
have
opinions
about
how
things
should
be
provided
that
can
always
be
overridden,
and
that
part
we
don't.
We
don't
have
basically
any
of
that
other
than
provide
everything
at
the
moment.
So
we
may
have
like,
if
you
you
can
set
a
global
provide
strategy.
A
So
it's
just
like
the
overall
flexibility
of
deciding
when
and
how
things
are
provided
is.
Is
we
have
opinions
about
it
that
get
people?
You
know
enough
of
the
way
and
then
we
have
options
for
them
to
like
get
themselves
a
bit
a
bit
further
figuring.
All
this
out,
I
mean
it's,
it
seems
obvious.
Maybe
it
was
alright,
always
obvious
to
everyone
from
the
beginning,
but
just
getting
all
of
these
things
in
line
and
okay.
This
is
the
thing
this
is
the
thing
just
takes
time
just
takes
takes
time,
any
other
questions
from
the.
A
It
takes
silence
as
no
okay
there's
another
component
that
we
just
simply
never
got
to,
which
was
the
change.
Finding
change
find
when
we
when
I
say
we
I
mean
me
and
I
blamed
the
team
a
little
bit
in
that,
so
we
so
changing
the
find
providers
to
account
for
some
see
IDs
not
being
provided
is
the
thing
we
never
got
to.
This
is
backtracking.
A
This
relies
on
metadata,
there's
just
like
a
lot
of
pieces
and
it
seemed
to
me
at
the
time
at
least
there
were
groups
groups
taking
some
responsibility
for
this
I
think
I
learned
later
that
actually
different
people
were
different,
taking
responsible
for
different
parts
of
metadata,
and
this
was
probably
something
that
just
someone
could
could
start
good
start
good
start.
Tackling
and
I
think
that
gee
there's
metadata
needed
for
GC.
That's
the
first
time
that
that
was
the
first.
A
Yeah,
so
once
we
once
we're
not
providing
all
of
the
blocks,
we
have
this.
We
just
have
this
problem
of
you
know
if
you,
if
you
start
providing
a
thing
and
it
stops,
you
know
you
get
cut
off
in
the
middle
either
you
have
to.
If
you
start
I'm
sorry,
you
start
retrieving
a
thing
and,
and
it
gets
cut
off
in
the
middle
you
either
have
to
retrieve
from
the
beginning,
or
we
have
to
have
a
system
in
place
that
lets
you
start
over
from
like
more
a
more
convenient
location
in
the
in
the
tree.
A
That's
the
providing
strategy,
that's
like
the
real
heart
of
the
providing
strategy,
work
and
there's
a
few
people
working
on
a
few
different
things.
I
think
that
in
terms
of
the
strategies
themselves
and
what
they
could
be
and
what
the
most
like
more
advanced
options
are.
Kuba
has
a
lot
of
information
on
that.
He
was
doing
I,
don't
have
access
to
them,
I,
don't
know
of
them
being
documented
anywhere
online,
but
I.
A
So
yeah
and
then
this
was
kind
of
done
in
stages.
Let's
do
like
a
simpler,
simpler
strategy
that
accounts
for
this
and
then
we'll
introduce
them
more.
Oh
yeah
I
mean
there's
a
note
here
that
actually
Cooper
has
some
research
going
on
and
then
the
other
thing
was
that
the
reap
reviser
in
the
providing
system
in
the
reprimanded
the
same
things
but
they're
different.
You
know
they
just
work
differently.
Provider
provides
everything
by
default.
A
The
reaper
Vidor
does
reprieve
ID
everything,
but
it
gives
you
the
option
to
like
we
provide
Bruce,
or
you
know
that
that
kind
of
that
kind
of
thing
I,
don't
know
really
I'm,
not
sure
what
a
lot
of
the
people
I
came
into
contact
with
assumed
or
a
lot.
A
few
of
the
people
I
came
into
contact
with
I
got
the
impression
that
they
didn't
realize
that
they
were
actually
announcing
every
individual
block.
A
They
were
like
I,
have
a
thousand
files,
I'm
doing
a
thousand
1000
announcements
and
like
the
getting
them
to
think
like
no
you're
doing
like
way
more
than
that,
based
on
the
size
of
those
those
those
files
was
kind
of
them
yeah.
It
was
just
a
thing
that
that
I
did
it,
I
didn't
expect
to
encounter,
but
but
did
okay,
so
I'd
like
to
this
is
just
the
first
thing,
a
very
first
open
thing:
I'm
gonna
do
my
best
to
there.
A
So
I
have
a
list
of
two
to
use
in
the
in
this
like
new
epoch
for
tracking,
and
what
I'd
like
to
do
is
almost
all
of
them
have
prior
art
from
previous
PRS.
That
I
did
that
did
the
work
in
some
form
or
another,
but
we
had
to
abandon
for
one
reason
or
another
I'm
gonna
like
link
the
things
so
that
you
don't
have
to
go
searching
for
them
yourselves.
A
A
Okay,
that
was
the
original
at
they
tracking
issue.
That
was
for
me
now.
You
can
find
issues
on
this
exact
same
line
of
work
from
like
2015
that
were
like,
so
there
were
like
several
attempts,
and
my
very
first
attempt
was
actually
based
off
of
the
the
last.
The
last
attempt
I
think
the
an
interesting
learning
moment
in
that
situation
was
that
that
that
attempt
actually
failed,
but
it
wasn't
communicated
anywhere
in
the
PR
it
was
just
people
were
pointing
to
it
as
though
like
in
flight
work.
A
That
was
never
finished
and
it
just
took
a
while
to
find
out
why
you
know
why
that
why?
That
approach
was
that
the
wasn't
the
right
approach?
I,
don't
have
it
marked
out
in
here,
but
I'll
I'll
go
back
I'll
go
back
before
tomorrow
and
make
make
a
note
I,
don't
think
anyone's
gonna
run
into
it,
but
just
make
a
note
like
make
a
note
of
that.
A
So
the
first
interrupt
me
at
any
time:
I
apologize,
I'm
kind
of
like
rolling
going
through
it.
The
first
introduction
of
the
new
provider
system
that
actually
made
it
into
ipfs
kind
of
occurred
by
accident.
So,
due
to
some
changes
that
were
made
in
swapping
the
Khanna's
on
the
lines,
you
might
have
more
information
to
correct
this,
but
we
got
into
a
situation
where
the
gateways
were
taking
a
long
time
to
provide
routes,
and
there
was
a
change
that
caused
that
to
happen
that
we
didn't
expect
it.
A
So
there
was
some
urgency
to
be
able
to
provide
routes
more
quickly.
I
had
already
I
already
had
this
other
system
that
would
side-by-side
provide
routes
providing
routes
for
you
know,
alongside
pin,
excuse
me
pin
in
add
calls,
and
so
we
cleaned
it
up
and
we
and
we
merged
it.
I
became
the
sort
of
like
the
first,
the
first,
the
first
version
of
this,
and
if
you
want
thinks
walking
through
this
is
not
the
most
useful
thing
to
do.
A
Please
let
me
know,
but
I
thought
I
thought,
like
understanding
how
things
got
to
where
they
are
would
be
good
for
people
that
want
to
move
it
move.
It
forward
see
this.
This
VR
just
introduces
a
it's
very
simple:
it
introduces
a
provider
that
just
doesn't
add
in
a
pin,
add
the
reason
why
I
was
so
excited
is
because
I
had
been
working
on
this
system
for
a
long
time
and
had
nothing
merged
in
because
it
was
there
was
just.
It
was
too
big
of
a
change
to
make
wholesale.
A
This
gave
us
an
opportunity
to
get
some
of
the
code
in
and
figure
out
things
like.
How
does
this
get?
You
know?
How
do
we
construct
the
node?
You
know,
how
do
we
construct
the
provider
along
with
the
node
like
what
are
all
the
necessary
dependencies
and
how
does
it
fit?
You
know
fit
in
with
the
architecture.
That's
eventually
going
to
be
merged,
because
when
you're
doing
PRS
you
know
like
you
get
it
to
work,
but
then
everyone
gets
their
eyes
on
it.
It's
good!
No!
No!
You
should
do
this.
There's
this.
A
You
know,
there's
actually
this
thing
that
we
do
that
you
know.
Maybe
no
one
called
out
to
you,
so
you
should
do
that
so
I
was.
We
were
excited
to
get
a
lot
of
those
answers
that
when
we
were
doing
the
loop,
when
we
were
doing
work
moving
forward,
we
just
had
them
like
you
know.
We
can
kind
of
work
work
from
them
anyway.
This
gets
merged,
I
won't
go
through.
The
I
won't
go
through
it
line
by
line.
E
A
Anything
but
you
could
see,
there's
basically
a
few
places
like
in
in
core,
where
we're
we're
running
the
provider,
basically
construct
this
provider
type
and
we
run
it
in
a
few
location.
So
we
do
it
provided
pain
and
we
do
it
provide
an
ad.
You
know
there's
a
there's
a
few
things,
but
then
the
provider
itself
is
relatively
simple:
it's
this
type.
Here
you
can
construct
it.
A
It
requires
a
content
router,
as
can
be
expected
when
you
the
big,
but
not
the
big
difference,
but
a
difference
is
that
the
the
Reaper
visor
system
in
bits
swap
for
which
the
provider
system
was
modeled
after
it
just
had
an
in-memory
like
unbuffered
cue
of
things
that
it
was
eventually
going
to
provide.
We
moved
that
to
disk,
so
we
actually
had
a
cue
in
the
data
store
that
we
worked
from,
and
this
was
the
this
was
the
first
introduction
of
that
of
that
cue
as
well
like.
A
A
A
E
A
Routes,
that's
correct,
yeah,
just
the
roots
the
roots
are
provided.
So
the
problem
is
that
bits
loss
provides
the
roots
last
and
we
needed
to
provide
them
first.
This
was
like
the
lowest
cost
way
to
ensure
that
routes
are
provided
quickly.
It
doesn't
even
guarantee
that
they're
provided
first
because
they're
provided
alongside
you
know,
they're
just
provided
right
away,
but
it
does
mean
in
the
grand
scheme
of
things
right
now.
A
So
they're,
not
you
know,
I
mean
it's
not
quite
it's
not
quite
double,
but
you
know
you
could
you
could
spend
a
little
extra
time
there,
but
on
the
large
I
think
that
that
extra
one
is
the
the
important
thing
is
that
that
will
go
away
and
then
the
only
thing
that'll
actually
do
into
providing
is
the
provider
system
and
one
of
the
things
that
one
of
the
things
I
have
a
note
for
here
and
I
have
a
bunch
of
code
written
for
it.
I,
try
I'm,
hoping
to
at
least
have
it.
A
A
So
the
eventually
it
became
try
not
to
like
read
from
script,
but
I
wanted
to
like
have
some
coherence
to
this.
So
eventually
it
became
clear
that,
like
the
provider
systems
biggest
challenge
was
that
it
was
an
all-or-nothing
change
like
you
can't,
you
can't
do
a
little.
You
can't
like
remove
providing
and
add
a
little
bit
of
it
back
in
that
doesn't
really
work.
It's
just
too
core
to
the
system,
and
so
we
spun
our
wheels
a
lot.
A
A
lot
of
bike
shedding
a
lot
of
PR
like
going
over
and
and
without
resolution,
because
we
were
trying
to
handle
like
rewriting
providing
from
the
ground
up,
and
it
was
incredibly
stressful
and
someone
I
think
it
was
I
think
it
was
Steven.
It
was
like.
Oh,
let's
just
release
it
under
a
feature
flag
which
hadn't
dawned
on
me
and,
and
admittedly
it's
like.
A
A
Okay,
so
this
was
the
first
strategic
provider
that
that
was
merged
and
admittedly
it's
the
least
impressive,
because
it
literally
doesn't
do
anything,
but
that
was
also
a
feature
because
before
there
was
no
time
before
this
PR,
maybe
there
was
and
I
just
don't
know
about
it.
I
never
heard
anything
about
it.
People
were
asking
for
it,
but
there
was
no
way
to
run
ipfs
without
providing
without
turning
off
content
routing.
A
So
if
you
wanted
to
run
IPA,
if
you
wanted
to
add
stuff,
you
could
do
it
offline,
but
if
you
wanted
to
run
a
node
like
Gateway
did
and
you
don't
want
to
do
provides,
there
was
no
way
to
configure
IP
FS
to
do
that.
That's
why
I
chose
this
as,
like
the
smallest
step
like
we
can
get
this
thing
in,
get
it
in
quickly
and
actually
get
some
feedback
from
Gateway
on
whether
or
not
it
was
working.
A
Unfortunately,
that
was
for
Aaron
and
and
Aaron
left,
and
we
kind
of
lost
getting
bad
thing
merged,
though
I
know,
though
I
heard
I
heard
during
team
week
that
that
Michael
wanted
to
wanted
to
pick
that
pick
that
up
so
I'm,
hoping
that's
something
that
they've
taken
a
look
at
and
and
I've
seen
in
some
issues
and
PRS.
That
there's
been
some
mention
of
it.
A
A
The
the
sort
of
tricky
thing
that
we
have
now
at
this
point
is
that
we
have
bear
with
me
to
ask
questions
here,
because
this
will
get
a
tiny
bit
confusing.
We
have
the
so
we
have
go
ipfs
before
we
made
any
changes
which
has
the
Reaper
Vader
system,
that's
in
Go
ipfs,
and
it
has
the
provider
system.
That's
in
that's
in
bit
swamp.
We
as
part
of
a
change
that
happened.
A
A
When
the
problem
is
that
when
we
introduce
the
new
strategic
system
and
we're
doing
it
piece
by
piece,
we
actually
have
to
leave
these
o
these
other
systems
intact
and,
and
we
don't
want
to
mess
with
them,
because
they're
serving
a
purpose.
The
old
provider
system
is
providing
routes
when
it
needs
to.
If
that
went
away,
people
have
noticed
right
away
and
we're
going
to
be
doing
a
lot
of
heavy
development
on
the
new
provider.
A
The
new
provider
system,
my
my
inclinations,
was
just
to
have
a
duplicate,
move,
the
old
provider
system
into
the
next
to
the
old,
Reaper
Vidor
system
and
then
basically
cut.
That
is
like
that
things,
gonna
get
deprecated
eventually
and
just
duplicated
effectively
into
the
new
system
that
we
then
turn
on
my
motivation.
A
I
want
you
understand
why
it's
there
it's
there,
so
that
it's
there
so
that
we
don't
break
the
existing
system
which
relies
on
it
and
not
and
I,
don't
really
want
to
spend
time
like
futzing,
making
it
work
in
both
situations
and
I'm,
not
sure
if
anyone
can
relate
to
this,
but
but
yeah,
that's
that's!
That
was
the
goal
down
beyond
that.
A
We
introduced
the
experimental
flag,
it's
called
strategic,
providing
so
if
that's
true
you're
using
the
strategic
provider,
which
means
you're
not
doing
any
providing
at
all
which,
for
some
people,
that's
exactly
what
they
want.
If
you
have
that
false,
then
you're,
just
using
the
old
provider
system
that
simple,
okay
moving.
A
G
A
Like
when
you
look
at
the
when
you
look
at
the
configuration
code,
it's
like
the
swap
provided
abled
is
equal
to
strategic,
providing
enabled
false
yeah.
So
there
there's
like
a
direct
correlation
there,
and
that
was
only
made
for
that
purpose.
I
think
in
the
same
vein
that
all
goes
away,
I,
don't
think
anyone
wants
bit
swap
doing
the
providing
I
think
it's
just
an
artifact.
So
this
comes
up
a
little
bit
in
in
MF
s,
which
is
I,
spend
a
little
bit
of
time.
A
A
A
They're
way
more
completed,
but
we'll
never
get
merged.
If
that
makes
any
sense,
they
just
have
way
more
stuff
in
them.
So
a
lot
of
the
things
that
are
in
the
to
dues
at
the
bottom
of
this
page
that
are
like
hey,
like
there's
still
some
stuff
to
do.
You
can
literally
go
find
an
example
and
work
work
from
there.
It's
not
that
it's
not
done
at
all.
It's
just
in
all
of
the
like
revisions
that
have
been
made.
It's
it.
Those
things
haven't
made.
It
made
it
back
in
yet:
okay
yeah.
A
So,
given
this
new
I
suppose
flexibility,
I
was
Chris
or
others
needed.
That's
where
this
discussion
came
up,
I
was
hoping
for
more
I
was
hoping
for
more
participation
in
this
I
think
this
is
something
that
people
can.
People
can
pick
up,
but
the
goal
of
this
discussion
was
like
hey
I
know
of
some
like
I
know
some
strategies
that
we've
discussed.
We
discussed
all
we
discussed
routes,
we've
discussed
like
whole
and
recursive,
or
just
pin
routes
just
ten
recursive,
some
probabilistic
thing.
A
That's
that's
not
defined
yet
nothing
and
then
all
the
other
strategies
that
the
specific
users
have
in
mind.
So
I
wanted
to
get
two
things
from
this
discussion.
What
are
all
the
things
that
we
know?
People
are
interested
in
whether
or
not
we're
gonna
actually
make
those
things
just
so
we
have
an
idea
of
like
what
the
landscape
of
these
strategies
are
and
then
and
then
number
two.
What
do
we
have
to
support
initially
like
for
this
to
be
a
success
from
our
side
as
an
initial
launch?
Not
as
like
the
long-term
feature?
A
A
A
Because
of
things
that
were
going
on
and
out
and
I
was
like,
let
me
just
do
it
and
get
it
done
for
you
real,
quick
that
way,
if
my
world
still
makes
sense,
when
I
need
to
come
back
and
make
all
these
changes
in
other
places,
that
request
resulted
in
the
extraction
of
the
provider
system
to
go
ipfs
provider
of
a
link
there.
This
was
just
the
14
week
in
Barcelona,
sorry
I'm,
just
seeing
the
chance.
A
A
A
A
Oh
there's,
like
other
people,
looking
at
this
same
issue
and
so
I
kind
of
jumped
in
that
room
and
tried
somewhat
successfully
to
help
to
help
out,
and
some
of
that
ended
up
being
related
to
the
providing
system
in
so
much
as
it
related
to
as
it
related
to
content
content
routing
which
the
providing
system
is
built
directly.
On
top
of,
there
was
also
a
request
during
that
time.
Jeremy
was
like
hey,
let's
just
let's,
just
let's
just
provide
routes
and
who
cares
about
backtracking?
A
It's
not
I'm
like
paraphrasing
in
my
own,
in
my
own
words-
and
this
was
this-
was
to
deal
with
some
stuff,
14-week
and
so
I
put
up
a
PR
that
did
that
it's
it's
not
something
I
would
merge
into
like
mainline
into
the
mainline
code
base,
but
for
a
sort
of
spot.
You
know
for
a
sort
of
spot
fix
it
could
have,
it
could
have
worked,
and
it
gives
an
idea
of
how
those
types
of
changes
would
be
made.
My
I
have
to
change
it.
I
haven't
well
I've.
A
A
I
realize
I'm
starting
to
go
quick,
trying
to
make
a
try
to
make
time
and
leave
time
for
questions
and
everything
yeah
also,
notably
the
421
I
believe
release
team
week
and
the
provider
extraction.
They
all
have.
They
all
happen
at
the
same
time.
So
there
was
a
point
where
I
was
like:
we
were
doing
fixes
and
in
one
system
we're
having
to
like
go
back
and
and
the
actual
extraction
didn't
get
merged
until
until
kind
of
a
little
ways
later,
and
that's
the
explanation
for
that.
A
We
just
we
had
team
week,
we
had
things
come
up
and
we
were
doing
things
in
both
of
those
and
also
trying
to
like
migrate
those
those
new
finds
into
this
new
system
before
we
actually
encourage
that
new.
That
news
and
then
ya,
provide
routes
provide
prioritized
queue.
These
are
two
things
I've
had
in
process
for
a
little
bit
and
provide
all
is
something
I've
really
because
there's
prior
art
and
provide
all
sort
of
takes
a
different
has
a
different
requirement.
A
A
A
It's
a
code
base
I
think
those
are
two
kind
of
like
when
we
first
came
when
I
first
came
to
the
project
and
they
were
like,
we
need
him,
have
providing
strategies
and
then
learning
that
it
was
all
sort
of
like
baked,
and
these
two
things
are
really
important
for
just
being
able
to
to
do
the
more
creative
strategy
word.
So
that's
where
that
is
the.
A
There
is
a
component
of
this,
which
is
there's
a
UX
component
of
this
that
it's
not
it's
not
entirely
obvious
how
it
should
be
written
down,
communicated
I
struggled
this
with
this
in
PRS
talking
back
and
forth,
with
with
like
Steven,
for
example.
This
is
where
I
landed
as
a
thing.
That
would
kind
of
make
sense
to
me.
But
there's
I
can
there's
like
some
ambiguity:
there's
room
for
people
to
read
their
own
meeting.
It
meaning
into
these
things
so
either.
A
Them
or
just
making
it
extra
clear,
but
here's
the
actual
configuration
of
the
providing
strategies
is.
This
is
kind
of
what
I
what
I
landed
on
is
an
at
least
an
initial
version,
which
is
that
you
have
in
your
configure
provider
section
that
has
a
strategy,
a
strategy
option
that
strategy,
the
obvious
ones,
are
like
none
routes
all
and
then,
whatever
other
strategies
that
we
that
we
we
come
up
with.
How?
A
What
does
that
do
is
like
one
of
the
first,
you
can
mark
those
things,
it's
not
at
all
on
the
what
those
things
should
do,
there's
a
few
different
interpretations
at
least,
and
so
here's
where
I
landed
on
them.
If
you
set
the
route
provider
strategy
to
none,
it's
simple,
no
commands
result
in
a
provide.
That's
the
easiest
one,
just
like
no
matter
what
you
do,
you're,
not
gonna,
provide
anything
for
roots.
A
You
have
these
sort
of
group-oriented
provides,
you
know,
you're
gonna,
add
a
whole
tree
and
a
whole
tree
get
a
whole
tree,
whatever
it
happens
to
be,
and
that
situation
roots
is
only
going
to
provide
roots.
I
think
this
is
another
thing
that
this
is
obvious
and
it
provides
nodes
and
all
other
context.
A
So
what
this
doesn't
do
is
it
doesn't
prevent
providing
them
like
dag
put,
and
that
kind
of
thing
all
similarly
for
the
group
related
ones
where
you're
either
going
to
add
the
root
or
you're
gonna,
add
everything
or
you're
gonna,
add
every
fifth
or
you're
going
to
come
up
with
some
probabilistic
strategy
for
doing
that.
It'll.
Do
that
when
you're
doing
or
I
mean
I,
guess
it
straight
stick
to
all
it'll.
A
All
of
your
individual
interactions
are
going
to
be
put,
doesn't
have
to
be
this
way.
This
is
just
like
me
trying
to
like
think
of
what
makes
the
most
sense
from
the
end
user
when
they
enter
like
that
configuration.
The
reality
is
that
it
may
be,
there
needs
to
be
more,
and
maybe
it
needs
to
be
more
robust.
It's
just
again
it's
a
it's,
a
sort
of
thing
that
seems
like
it
would
be
a
simple
thing,
but
there's
something
to
figure
out
here,
so
yeah
then
etc
needs
to
be
figured
out
some
padeen.
So.
A
G
A
There,
so
you
can
look
back,
I
won't
get
into
it.
We're
like
we're
short
on
time,
where
I
shat
the
end.
Do
you
guys
have
a
few
more
minutes?
Is
that
okay,
great
great
in
those
early
pr's
a
Dean,
you
can
see
I
actually
go
way
further
with
a
feature.
It's
like
I
really
thought.
I
was
gonna,
have
something
like
that
mirja
bowl
and
you
can
sort
of
read
the
discussion
and
see
how
how
that
got
peeled
back,
but
but
the
intent
was
yeah.
Let's,
let's
provide
all
and
then
just
swap
the
system's
out.
D
Yeah,
so
sorry,
I
have
to
go
shortly
to
go
to
the
my
team
stand
up,
but
one
I
mean
honestly.
The
question
for
me
is
you
so
this
is
like
this
incredibly
hard
problem,
which
you
have
managed
to
make
some
progress
on,
which
is
kind
of
amazing,
because
it
seems
like
there's
been
many
people
who've
taken
attempts
at
it
and
we
actually
have
code
merge,
but
we
don't
have
we.
D
We
haven't
gotten
to
the
point
where
we
have
enough
code
merged
to
drop
the
other
systems,
which
means
that
we're
in
this
place,
where
we
have
like
four
different
system
for
different
things
in
there
I
think.
That's
my
total
count,
and
so
my
question
is
really
just
who's
picking
this
up
and
because
it
seems
like
they,
like,
you
know.
D
Yes,
we
are
we've
learned
a
lot
in
this
meeting
and
this
is
a
necessary
question
for
you,
I
guess
but
like
who
or
who
is
like
being
delegated
to
work
on
this,
because
I
feel
like
if
there's
not
a
delegated
person,
to
keep
pushing
this
forward.
It's
going
to
languish
and
then
we're
not
gonna
move
we're
not
going
to
ever
get
to
the
simpler
point.
D
F
Hopefully,
a
lot
of
the
testing
work
that
is
happening
right
now
is
gonna,
be
super
relevant
for
also
making
this
more
just
easier
to
reason
about
it's
like
well,
you
know
you
can
dive
deeper
into
these
things
without
kind
of
having
some
of
the
the
frustrations
that
Michael
was
describing
at
the
beginning
of
not
being
able
to
get
observability
of
of
what
was
happening
in
the
system.
There's
definitely
some
pieces
that
I
think
will
land
to
make
some
of
this
easier
to
work
on
in
the
future.
Yeah,
that's
right,
right,
yeah,.
A
A
A
Note
that
I
wanted
to
make,
which
is
at
Emmet,
like
I,
went
digging
around
in
EM
F
s
and
M
F
s
just
eventually
uses
the
dag
service
and
that's
how
the
providing
is
happening
so
that
dag
service
is
not
going
to
do,
provides
for
m
FS
anymore
and
so
somewhere
in
FS,
someone's
going
to
have
to
interact
with
a
provider
system
of
some
kind
to
say
yes,
you'll.
A
C
Not
together
to
be
specific,
you
add
a
box
the
dag
surface,
and
then
it
gets
added
to
the
block
service.
Then
the
block
service
puts
the
Block
in
the
data
store
and
at
the
same
time
tells
bits
about.
We
have
the
block,
and
then
we
call
has
the
bits
pop
bit
swap
then
finds
anyone
who's
trying
to
ask
for
the
block
gives
us
them
and
announced
the
network
that
we
have
to
block
using
the
provider
system.
That's
one.
A
You
yeah,
so
that's
it
I
mean
the
the
duze.
The
thing
I
would
say
is
there's
a
lot
of
stuff
unchecked
here,
but
actually,
if
you
look
back
at
the
prior
epochs
everything,
except
for
anything
that
has
three
asterisks
I,
don't
have
code
for
like
for
the
fancy
providing
stuff
like
I
mean
Steven
you're
in
the
room,
you're
gonna
have
more
info,
but
the
only
person
I
saw
they
had
like
anything
concrete.
A
Looking
like
was
kuba
and
I
know,
he's
I
know
he's
working
on
some
stuff,
but
but
I
think
that
that
work
that
he
did
out
in
some
format
would
be
really
good.
So
I
think
there
may
even
be
some
some
I'm
not
ready
to
use
code,
but
something
like
some
model
to
think
about,
but
otherwise
all
of
these
other
things
like
you,
some
of
it
like
these
like
commands,
you
can
basically
copy
paste
from
like
other
PRS.
It's
just.
A
A
So
I
was
yeah.
I
was
saying
earlier
that
I
saw
the
day
and
a
half
and
there's
a
few
things.
I
just
haven't
got
you.
I
was
sick
most
of
last
week.
One
of
those
things
that
I
called
out
specifically
is
I
will
get
links
to
these
things.
Cuz
yeah,
it's
it's
even
for
me.
I've
done
the
work
it's
just
been
so
long.
I
have
to
I
have
to
I
have
to
go
digging.
I
have
to
go
digging
around
myself,
so
yeah
I'll
do
that
and
I
think
they're
gonna
look
different.
A
A
Yeah
I'm
hoping
the
interfaces
should
land
I'm,
making
a
few
changes
for
the
prioritization
and
for
the
strategies
which,
which
there
won't
be
enough
time
to
like
go
back
and
forth
on,
but
hey
you'll
have
at
least
one
you
at
least
have
an
idea
on
that
note,
though,
I
did
mention
earlier
and
I'm
gonna
say
it
explicitly
to
you
to
students.
I
know
you're
doing
with
a
lot
of
ghost
stuff,
I'm,
not
disappearing.
Pay
me
on
things
feel
free.
A
B
A
And
my
other
note
was
that
I
think
that
I
think
it's
a
big
enough
problem
that
maybe
everyone
is
experiencing
this
everyone's,
like
everyone
at
PL,
is
on
a
big
problem
that
really
is
suited
for
more
than
one
person
but
they're
liking.
The
person
working
on
it
I
I
felt
that,
like
a
number
of
times,
sort
of
like
going
through
this
that
you
know
there
was
just
there
was
other
people
that
were
needed,
that
what
it
really
would
have
really
helped
out
a
ton.
So
if
there
I
know
st.
A
more
people,
it's
not
the
time
right
now
to
say
more
people,
because
I
know
if
it
is
that
priorities
have
been
shifting
a
little
a
little
bit,
but
but
yeah,
that's
it
and
this
isn't
it,
and
this
isn't
the
last
conversation.
So
just
just
if
you
have
more
things
reach
out
to
me
directly
I'm
around
for
a
few
more
days,
so.