►
From YouTube: Demo - libp2p Interfaces - Juan Benet
Description
Originally recorded during the Berlin Developers Meetings from July 9-13, 2018.
A
A
That's
kind
of
the
goal
of
this
effort,
as
well
as
just
standardizing
things,
because
right
now,
a
lot
of
the
stuff
is
in
documents
which
is
less
successful
than
if
we
have
like
a
test
case
that
could
like
test
whether
or
not
like
the
thing
is
everyone's
converged.
Sorry
I'm,
just
gonna,
go
through
these
and
just
kind
of
get
your
take.
These
are
a
draft,
but
it
gets
kind
of
these
seem
kind
of
obvious,
but
it
gets
a
little
bit
funkier
underneath.
A
So
you
know
at
the
very
top
we
have
here,
at
least
in
that
that's
how
github
just
decided
to
present
it,
because
it's
not
how
I
would
necessarily
introduce
it.
We
have
leviair
discovery,
and
so
this
was
the
interface
that
just
has
discover
pierce
a
single
function
that
emits
an
array
of
pure
infos,
and
so
the
idea
is
that
a
peer
discovery
protocol
is
just
that.
It
just
gives
you
that
one
single
function
and
just
emits
the
set
of
peers
every
once
in
a
while,
come
to
discover
is
very
similar.
A
A
There's
a
peer
routing
is
where
we
actually
start
thinking
about
finding
specific
peers
so
having
a
function
where
we
qualify
here,
we
give
it
a
peer
ID
and
we
get
back
a
specific
peer
info
for
that.
Before
that
peer,
then
content
runner
would
be.
We
try
to
do
the
same
thing
for
content.
We've
said,
put
a
cid
and
we
get
back
in
the
set
of
peer
infos
that
might
have
that
that
content
so
far,
so
good
right,
like
anything
who
anybody
see,
this
is
like
totally
new.
A
So
it
might
be
a
useful
idea
to
kind
of
synthesize
that
and
to
just
have
one
very
simple
way
of
describing
what
a
record
is
and
like
the
cryptographic
operations.
You
might
do
on
the
record
like
signing
it
like,
including
a
proof
of
something
like
hey.
You
claim
you
have
some
file,
maybe
include
a
proof
of
that
and
and
then
the
validity
stuff
around
like.
Maybe
it
has
an
expiry
and
you
have
to
check
that
that's
correct.
According
to
you,
maybe
has
a
TTL.
A
Maybe
it
has
an
expiry
based
on
some
notion
of
time
like
NTP,
or
maybe
it
has
an
expiry
based
on
some
stronger
notion
of
time
like
a
blockchain,
and
so
the
idea
is
like
ok.
Well,
if
we
started
then
creating
things
like
the
HDS
and
pops
up
to
work
over
that
that
kind
of
records
or
then
we
could
probably
duplicate
a
lot
so
far.
That's
an
idea.
A
It's
an
idea
that
like
lives
on
like
some
issues
and
I,
think
maybe
Debbie
diplomat
just
sum
up
some
of
the
stuff,
but
that's
kind
of
as
far
as
I
got,
because
that's
how
we
got
to
a
lot
of
the
IP
LD
work,
because
then
we
started
thinking.
Oh
what?
If
we
start
structuring
this
it's
it's.
When
we
tried
to
structure
these
records
into
and
put
them
into
a
BFS
that
we
said
wow,
they
look
really
sucks
that
you
have
to
you.
A
Don't
have
structured
data
in
ipfs,
you
have
these
files
and
you
don't
have
the
ability
to
just
put
in
something
like
JSON
or
or
C
Bohr
and
deal
with
it
like
really
nicely
and
that's
when
we
started
exploring
all
the
of
that
world
and
then
we
got
lost
there
for
a
while
and
we're
finally
just
coming
back.
So
it
remains
to
be
seen
how
much
of
that
we'll
use,
but
the
reason
I
bring
it
up
is
because,
once
you
have
a
record
store,
you
can
kind
of
do
a
lot
of
things
with
it.
A
Now
that
might
not
be
a
great
idea,
depending
on
the
semantics
of
your
record
store,
but
the
idea
is
that,
like,
if
push
comes
to
shove,
you
could
use
that,
and
so
what
does
this
mean
well
at
the
HD
could
be
a
record
store,
and
that
has
certain
scaling
properties
as
we've
seen,
and
so
it
works
for
some
things
well
and
it
works
less
well
for
others
if
blockchain
is
also
a
record
store
and
that
has
completely
different
performance
guarantees.
It
is
you
know,
kind
of
permanent,
so
you
know
your
resolution
will
probably
work.
A
Fine,
but
publishing
will
be
extremely
slow
but
waste
lower
than
the
current
DHD,
but
it
may
be
censorship,
persistent
right,
so
you
get
start
getting
these
different
properties
falling
out
of
it,
and
there
might
be
reasons
why
you
might
want
this,
this
kind
of
abstraction.
So
anyway,
that's
all
I
will
say
on
that
record
store.
A
You
know
something
like
it.
Emily
act
gives
you
gives
you
those
things
we've
talked
about
that
before
just
pops
up.
This
is
like
a
different
attempt
at
that
consensus.
One
I,
don't
I,
don't
necessarily
like
this
one.
Then
it
is
pretty
clear
that
lipid
repeat
has
to
have
crypto
in
it.
It
has
to
define
a
whole
crypto
module
in
it.
You
can't
really
define
things
like
peer
IDs
without
it,
without
injecting
the
notion
of
public
keys
and
then
once
you're
there.
A
A
One
side
note
this
file:
the
history
of
this
file
was
that
it
got
generated.
I
was
sitting
down
with
Tim
berners-lee,
explaining
what
the
PGP
was,
because
you
know
it's
really
big
and
confusing,
and
okay.
Well,
let's
like
walk
through
the
interfaces
and
then
like.
That's
not
like
the
beginning
of
this
file
started
so
like
it's
kind
of
funny.
A
One
of
the
things
that
I
got
to
hear
was
that
potentially
it
might
make
sense
for-
and
we
saw
this
before
like
should
see
IDs
beyond,
should
ideally
actually,
instead
of
being
seen
on
top
of
livia,
to
be
actually
be
a
building
component.
That
feels
like
it
leaks
too
much
like
you
would
want
to
pull
in
a
multi
hash.
A
That's
all
related
to
connections,
maybe
should
be
kind
of
separated
out
of
it,
and
then
I
want
to
get
rid
of
the
host
obstruction,
doesn't
go
ipfs
or
negatory,
and
goalie
philippi
and
I
want
to
replace
it
with
just
calling
it
a
node
as
JavaScript
does,
because
I
think
that's
a
way
better
way.
Better
idea
that
the
host
concept
was
was
bad.
A
B
A
A
A
This
is
to
go
in
diem.
Attic
is
like
useless
here
yeah,
it's
also
not
not
worth
the
considering
anyway.
This
is
a
draft
of
like
trying
to
distill
the
interfaces
down
to
something
like
much
more
understandable.
I,
don't
know
quick
feedback.
Is
this?
Is
this
a
good
thing
to
pursue?
Do
you
feel
like
it's
a
good
thing
to
pursue?
Yes,
cool,
all
right,
we'll
keep
bike.
Shutting
this.
With
that
I'll
hand
it
off
to
the
veep
any
questions
on
this
yeah.
B
This
is
good
thing
to
pursue
and
in
a
similar
to
band
what
I'm
trying
to
do
with
the
docs
there's
a
whole
like
I,
think
there's
a
lot
of
room
in
the
p2p,
whatever
we
get,
some
more
organized
Doc's
for
a
similar
set
of
like
concepts
and
I
think
those
map
really
closely
in
a
lot
of
ways
to
what
you're
trying
to
do
here.
So
yep,
there's
a
good
concordance
and
these
things
can
all
go
together.
C
Working
on
going
through
IPRs
yesterday
with
b5
and
one
thing
that
we
sort
of
came
across
was
that
there's
the
validation
schemes
and
then
there's
the
ordering
and
we
sort
of
ended
up
settling
ones,
calling
like
selection
schemes
as
a
way
of
figuring
out.
What
record
should
be
chosen
of
a
set
of
valid
ones?
That
was
the
only
one
we're
like
yes,.
A
So
so
this
would
be
the
conditional
function.
The
the
idea
of
ordering
is
that
it
should
always
be
possible
to
pick
the
best
record.
Yet
you
should
have
one
best
record
and
then
I
guess
election
is
you
mean
you
might
have
different
person?
You
might
have
many
records
that
are
valid
and
you
might
have
multiple
purposes
for
a
record
more.
C
A
What
you
can
do
if
the
records
are
appealed,
e
nodes
is
that
you
can
link
to
code
in
an
authenticated
way,
so
you
can
have
a
record
linking
to
the
code
that
validates
it
and
that
might
include
all
of
the
code
that
checks,
signatures,
that
checks,
proofs
and
all
that
kind
of
stuff.
So
you
could
have
if
a
record
is
and
I
the
object
and
it
represents
a
tree
of
things,
then
you
could
self
describe
the
entire
thing.
A
Think
of
it
also
in
terms
of
DNS,
so
DNS
has
a
bunch
of
random
Records
with
weird
types
and
and
weird
like
the
tons
of
systems,
don't
implement
no
support
because
they
implemented
just
the
basic
ones
and
now
there's
there's
all
these
other
types
that
just
don't
work
with
a
bunch
of
the
tooling,
and
it
would
be
really
nice
to
have
like
a
way
of
smoothly
upgrading.
All
of
that,
so
that
all
of
those
tools
could
just
say.
A
Oh
yeah,
this
record
is
pointing
to
code
that
is
signed
by
certain
of
such-and-such
authorities,
so
we're
totally
willing
to
adopt
this
whole
new
record
type
without
even
having
to
change
the
code
at
all.
So
that's
where
that
that's
that's.
Why
kind
of
I
feel
to
get
smuggled
into
here,
but
but
then
that's
annoying,
because
it
then
like
bubbles
and
all
the
way
up
to
into
lipid
repeat,
which
is
frustrating
with
the
interfaces.