►
From YouTube: 🖧 IPLD weekly Sync 🙌🏽 2020-03-30
Description
A weekly meeting to sync up on all IPLD (https://ipld.io) related topics. It's open for everyone and recorded. https://github.com/ipld/team-mgmt
A
A
Yes
and
please
put
a
name
on
the
attendees
list,
although
it's
almost
complete
from
the
past
week,
so
this
should
be
fine.
I
started
myself,
so
I
work
normally
on
rustically
and
the
past
week
has
been
pretty
good,
because
I'm
finally
think
found
a
good
way
of
having.
A
Custom
codec
table
through
the
whole
chain
of
iPod
e,
so
the
problem
is
that
you
might
want
to
use
some
custom
correct,
cable
because
you
have
space
limitations
or
you
just
have
only
like
three
codecs
you
always
use
and
in
unlike
in
other
languages
like
JavaScript,
it's
quite
difficult
and
go.
It
comes
from
somewhere
magic
and
I.
Think
in
rust,
I
found
a
good
way
of
using
generics
for
it
and
the
internal
code.
It
makes
the
internal
color
a
bit
more
difficult,
but
from
the
outside,
it's
just
a
simple
export
of
a
type.
A
B
Yeah
yeah,
so
I
was
sick
all
last
week,
so
I
much
changed,
yeah
yeah.
Now
that
I'm
kind
of
back
into
the
swing,
though
I
wrote
some
code
last
night,
actually
interesting.
New
snags
like
there's
some
weird
lambda,
throttling
that
I'm,
seeing
where
I
can
start
like
thousands
of
concurrent
functions,
but
only
50
will
really
like
complete
at
a
time
which
is
odd
because
they're
not
they're,
just
stalling
and
I
thought
that
it
was
on
the
right
side,
pushing
stuff
in
s3.
B
B
There
I
wrote
a
an
improvement
or
a
feature
to
the
datastore
car
library
for
pulling
in
a
complete
graph,
not
in
the
turning
that
into
a
CR
2jsi
BFS
that
there's
import
and
export
of
car
files,
and
then
this
sort
of
graph
store
stuff
that
we've
been
talking
about
for
a
while.
Basically,
a
storage
interface
that
kept
track
of
and
could
give
you
more
information
than
just
like,
hey
I.
Have
this
block
or
not
more
like?
B
Do
you
add
the
entire
graphs
for
all
of
this
I've
been
starting
to
prototype
that
over
in
dag
DB,
because
I
have
that
problem
when
I'm
sinking
to
the
grass
around
I
don't
want
to
suffer
a
full
graph.
Traversal
and
I've
recently
chosen
definitely
made
some
progress.
I've
been
in
memory
prototype
working
right
now,
people.
D
D
So
if
you
think
of
selectors
as
being
very
similar
to
reg
X's
for
structured
data,
reg
X
is
a
plan.
A
linear
string
right
part
of
the
nature
of
a
reg
X
is
it
depends
on
the
data
before
the
match
in
order
to
decide
where
the
matches
are
wait
and
in
rednecks
it
depends
on
the
data
after
as
well,
but
with
selectors.
D
We
just
have
the
data
leading
up
to,
and
so
that
includes
effectively
the
path
that
you
take
it
to
get
to
some
place,
not
just
the
data
itself
at
that
point
that
you
reach,
and
so
this
means
selectors
basically
require
expanding
data,
and
we
can,
it
turns
out,
run
into
a
situation
pretty
easily.
That
looks
an
awful
lot
like
entity.
Expansion,
attacks
in
XML,
parses
of
old,
sometimes
known
as
the
billion
won
apps
attack.
D
Basically,
if
you
have
a
dag
that
involves
a
couple
of
nodes
and
then
it
splits
out,
and
then
each
of
these
nodes
refers
to
the
same
child
notes
and
then
maybe
repeat
this
a
couple
of
times
by
the
time
you
get
somewhere
down
in
this
tree.
The
number
of
different
paths
that
you
can
take,
but
still
reach
the
same
node
can
be
exponential
and
if
our
definition
of
selectors
is
you
have
to
keep
track
of
all
the
paths
in
order
to
decide
whether
or
not
you
match
things
this
kind
of
hurts.
D
So
we
found
that
that's
the
case,
and
now
the
question
is
sort
of
well
okay.
What
do
we
do
about
this?
I'm?
Probably
going
to
end
up
doing
a
couple
of
simple
things
like
providing
more
control
to
use
your
code
to
say?
Okay,
if
you're
doing
the
link
load
in
the
middle
of
this
thing,
you
can
return
this
special
I,
which
says
skip
it's,
not
an
error,
it's
just
a
skip
and
that
might
get
us
out
of
some
corners,
but
it's
not
very
complete
solution,
other
more
complete
solutions!
Well,
I,
don't
know!
D
Another
opportunity
to
improve
stuff
might
be
a
more
complex
form
of
memoization
for
where
we've
been
before,
like
story.
Tuple
of
the
cid
of
the
link
that
we're
traversing
and
the
selector
that
we're
about
to
reply
to
it
and
do
some
pretty
clever
memorization,
but
there's
still
a
lot
more
complex
questions
even
lying
behind
that
answer,
and
it's
not
something
that
you
can
exactly
implement
for
free
I,
think
so
so
we've
just
discovered
that
question
space
this
we
can
start
probing
it
I!
Guess
we'll
see
where
that
goes.
That's
fun!
E
D
But
I
don't
know
if
it
really
matters
either.
The
problem
is
as
long
as
the
path
that
you
take
to
get.
There
is
part
of
the
definition
that
you're
using
of
your
query.
Then,
then
you
reach
this
problematic
state,
because
that
effectively
means
you're
doing
your
search
over
a
tree
and
not
a
dag,
which
means
you're,
stealing
the
dag
into
a
tree,
and
that
means
you
get
the
exponential
expansion,
and
so
our
options
are
do
something
very
clever
or
change
at
that
part
of
the
definition.
B
Yeah
I
mean
right
now
we
default
to
depth-first.
Like
that's
our
kind
of
deterministic
algorithm
today,
I
mean
we
could
probably
add
an
option
later
to
change
that,
and
then
it
would
still
I
mean
because
that
option
would
be
in
the
selector.
We
would
still
have
deterministic
selectors.
That
would
be
fine,
but
yeah
I.
Don't
think
that
it
changes
this
problem
because
you
can
still
dag
is
usually
duplicated
branches,
where
it's
very
cheap
to
create
a
really
large
dag.
Then,
with
that
because
expensive
to
traverse
for
certain
collectors,
just
one
right.
D
We
can't
actually
mobilize
things
just
based
on
the
link
CID
alone,
which
you
might
intuitively
think
at
first
glance,
but
that
doesn't
work
because
it's
possible
that
if
you
reach
the
same
data
through
two
different
paths,
your
selector
might
match
one
and
not
match
in
the
other
because
of
the
path
that
it
took
to
get
there.
And
so
the
most
obvious
thing
you
can
do
to
memorize
is
incorrect,
which
yeah
that
gets
this
year.
A
Cool
this
is
Chris,
hey.
F
Guys
so
after
I
showed
that
I
fill
the
schema
editor
last
week,
I
posted
on
github
pages.
So
now
you
can
just
go
that
link
and
use
it
which
is
kind
of
cool
and
then
I,
Chi
tweaked,
the
prism,
J's
color
syntax,
highlighting
rules
to
try
to
show
the
work
I
guess
what
would
you
call
it
just
how
many
things
better
and
then
kind
of
minor
issue
at
the
hashmap
schema,
which
I
think
rod
addressed
and
don't
really
have
anything
on
my
plate
right
now,
so
just
again
extending
the
Opera
to
help
yeah.
B
G
D
F
It
shouldn't
be
hard,
you
know
and
I
it's
mainly
actually
a
UI
interface
issue
I'm.
You
know
who
has
an
idea
about
how
to
do
it
in
a
sensible
way.
I
thought
about
maybe
I'm
gonna
button
that
kind
of
toggle
it
between
you
know.
One
pane
like
it
is
right
now
and
then
split
pane
that
shows
a
JSON,
but
that
was
kind.
My
main
thing
I'm,
like
I'm,
not
sure
how
I
want
you,
this
UI,
wise
and
so
I
know
that
request
was
me
before,
but
that
that
makes
sense.
I
could
do
it
sure.
B
F
F
Yeah
yeah,
that's
a
good
point:
I,
don't
know
if
having
a
side
by
side
is
the
best
user
experience
I
mean
just
say,
download
JSON
and
they
could
download
it,
but
that
would
be
nice
little
to
see
it
too.
And
then
you
get
into
dialogues
or
separate
pages,
I,
don't
know
so
Estelle's.
My
my
main
barrier
to
actually
move
forward
is
what's
the
best
UX
for
it.
I
think.
D
D
F
Well,
I'll
think
about
some
more
I.
Think
I'll
just
be
a
little
lazy,
but
I'll
figure
out
a
way
of
doing
it.
I
might
even
just
do
something
simple
like
download
as
JSON
just
to
get
it
done,
but
I
think
the
UI
attack.
They
may
work
too.
There's
just
no
tab
controls.
They
have
to
kind
of
implement
tabbing
myself,
but
I
can
find
something
I'm
sure.
Those
no
sorry
should
clarify.
F
G
For
me,
in
my
own
three
yep
highlights
for
me
the
looking
at
the
ego
ipfs
export
import
feature
that
that
has
been
tied
with
on
I
go
ipfs.
It's
now
into
its
it's
only
he's
loud
yet,
and
it's
into
another
iteration,
so
it
was
pulled
apart
into
two
pull
requests
over
there
hasn't
quite
landed,
I.
Think
there's
still
some
discussion,
I,
don't
quite
understand
what
they're
aiming
for
with
import,
but
there's
some
there's
something
that
they're
trying
to
achieve
with
imports
for
really
fast
inputs.
G
What
is
it
select
selective
car
and
IPL
d-prime
selectors,
just
basically
an
all
selector
for
now,
but
it's
it's
in
place
so
that
it
can
use
an
arbitrary
selector,
which
is
really
nice
and
I
can
imagine
a
command
line
where
you
would
say,
export
CID
and
then
use
Tim's
select
a
shorthand
to
exploit
a
graph
they'll
be
really
cool
to
see.
But
for
now
it's
just
CID
and
then
it'll
get
on
graph
import.
Is
that
they're
doing
this
thing
where
it's
just
basically
import
whatever
it
can
find
so
it'll
accept
a
badly
formed
car.
G
So
you
know
the
route
doesn't
exist
in
the
thing.
Even
they
even
wanted
to
do
no
routes,
but
the
go
Fargo
car
thing
doesn't
support
that.
But
there
was
something
about
that
like
they
wanted
to
make
it
really
flexible.
So
it
was
sick
except
pretty
much
anything
that
looked
like
a
list
of
blocks.
So
I
don't
really
understand
what
they
try
to
achieve
there
fully.
G
Don't
think
I've
heard
from
that
go
the
JSI
PFS
folks,
whether
they
even
wanted
to
accept
it
because
I
know
there
was
some
hesitancy
before
about
adding
more
weight
to
JSI
PFS,
so
I
sort
of
like
a
signal
from
them
before
I,
invest
too
much
more
time
in
that,
but
it
is
fun
to
see
a
car
file
created
from
an
arbitrary
graph
like
it.
I
pull
this
graph
out
of
ipfs
the
IP
efficient
exit
Network.
Stick
it
in
a
car
file.
For
me,
that's
pretty
neat!
G
B
G
B
B
G
Yeah
I
think,
and
also
that
might
have
been
before
we
really
had
all
the
car
file
stuff
in
place
for
JavaScript
so
that
maybe
they'd
thought
was
well.
This
is
gonna,
add
actually
a
lot
more
complexity
of
J
J's
ipfs,
but
once
you
implement
it
with
the
libraries
we've
got
now.
It's
like
it's
like
a
page
of
code.
It's
not
right!
It's
not
really
that
much,
which
is
really
Dean
as
well
like
it's
it's
nice
to
be
able
to
do
something
so
complex
in
a
small
amount
of
code,
so
yeah.
It's
neat.
G
But
it's
making
me
aware
of
the
incompleteness
of
the
like
IP
LD
libraries.
We
have
particularly
on
JavaScript.
It
doesn't
match
what
we
haven't
go
and
go
isn't
quite
up
to
scratch
with
what
could
be
there.
So
I'm,
looking
at
the
moment
about
how
much
I
should
invest
in
clean
up
those
libraries
I
think
it
would
be
nice
to
have
things,
work
well
and
even
seats
seats
and
things
onto
the
network
onto
ipfs,
so
that
the
IPL
the
explorer
could
display
these
nicely
that'd
be
really
cool.
Like
IPF,
essex,
I
PFF
IPL.
G
The
explorer
could
be
like
one
of
those
block
explorers
that
they
use
to
inspect
blocks
on
these
these
block
chains.
But
of
course,
the
problem.
There
is
making
sure
that
the
network
is
seeded
with
all
of
the
blocks,
but-
and
it's
probably
not
something
that
I
want
to
sign
up
for
just
you
know,
but
something
to
explore
anyway,
because
it
is
interesting
data
and
it
is,
there
is
a
heavy
demand
for
this
data
as
well.
A
G
A
G
I,
did
it's
not
that
bad?
It's
it's
just
that
they
it's
liking
it
so
there's
a
catch
ones,
pretty
good
I!
Think
cuz
cuz
I.
Can
we
took
some
of
your
work
and
contributed
to
I
think
we
got
to
a
better
place.
Yeah
the
Bitcoin
one
is
missing
transactions,
but
aside
from
that
it
it's
it's
pretty
it's
pretty
parallel
with
go
IPA
first,
because
it
go
between
library.
Yes,.
A
G
And
well,
and
one
of
the
reasons
I'm
feeling
enthusiastic
about
this-
is
that
I
don't
know
enough
about
these
block
chains
and
I
keep
on
running
into
these
situations.
Where
you
know,
I
hear
these
things
coming
out
of
these
communities
and
I
don't
get
the
perspective.
They
think
about
things
in
different
ways
and
I'd
like
to
understand
that
better
so
driving.
A
G
A
G
G
G
E
You
know
what
rod
one
thing
I
was
doing
was
rather
than
storing
the
blocks,
because
I
the
go
IP
LD
plug
in
54,
easy
cash
and
yeah,
and
even
aetherium.
It's
not
maintained
anymore,
so
I've
actually
been
just
using
using
the
JSON
RPC
and
storing
that
an
IP
LD.
The
hard
thing
is
I,
don't
know
if
there's
actually
like
the
codec,
if
you
actually
use
the
codec
that
this
is
Seaboard
JSON,
but
it's
an
aetherium
transaction
like
like
it
is
one
way
of
actually
just
encoding.
It
yeah.
G
I'd
like
to
have
C
IDs
that
match
the
way
that
we've
been
doing
them
in
the
past,
which
is
the
challenge.
So
the
block
matching
the
CID
that
you
can
then
decode,
because
that's
the
ID,
you
should
be
able
to
inspect,
to
see
ID
go
into
the
multi
hash
and
get
the
actual
block
identifier.
That's
the
same
that
they
use
on
their
network.
That's
that's
what
I
want
to
get
I
want.
G
B
G
G
The
transaction
section
of
the
blocks
use
the
merkel
root,
not
the
not
this
section
hash,
so
the
way
we're
doing
CID,
please
don't
quite
match
transaction
identifiers,
which
seems
like
a
bit
of
a
problem
to
me,
and
me
well,
I'd
like
to
understand,
is
why
did
we
ever
have
a
a
reserved,
a
suggestion
that
CID
should
also
have
absque
in
whereby,
instead
of
doing
a
full
hash,
they
can
take
like
a
Merkel
root
and
style
hash?
You
know,
instead
of
a
full
block,
ouch
no.
G
I
spit
see,
the
difference
is
so
with
with
a
Bitcoin
block
header.
You
can
take
a
CID
and
you
can
extract
the
original
block
ID
from
the
CID
itself,
because
it's
just
a
double
shower
256
or
to
whatever
it
is
so
it's
a
straight
double
hash
of
the
block
and
we've
got
a
double
hash
in
multi
hashes.
So
that's
fine.
You
can
take
a
CID
and
then
you
could.
G
You
could
extract
that
and
then
you
could
take
that
reverse
it,
for
you
know
big
endian
and
stick
it
into
a
block,
explore
and
bet
that
you
can't
do
the
same
thing
as
far
as
I
know
with
transactions,
because
when
a
block
links
to
its
transactions,
its
linking
to
the
Merkel
route,
not
a
hash
of
the
whole
transaction
section
of
the
block,
so
the
C
IDs
that
we
make
don't
really
bear
any
relationship.
As
far
as
I
know
to
the
transaction
section
I
mean.
B
The
sort
of
okay,
though,
because
if
you,
if
you
have
that
transaction
block,
you
know
it's
a
transaction
block,
you
know
that
the
length
it
is
is
not
actually
pointing
directly
into
the
transactions.
It's
giving
you
the
whole
context
from
the
route.
So,
but
you
know
how
to
get
from
there
to
the
transactions
anyway,
so
yeah.
G
B
E
E
If
you
get
a
chance
to
read
the
paper,
I
mentioned
a
couple
of
github
issues
about
allowing
for
tag
98
in
addition
to
48:42,
because
then
actually
I
can
do
native
signing
in
C
bore
with
a
tag
98
4
with
a
with
a
payload
pointing
to
an
IP
LD
tag,
4842
and
I.
Think,
and
then
that
allows
me
to
keep
everything
in
C
bore,
rather
than
trying
to
do
the
representation
COEs
a
or
Jose
signatures
in
IPL
D,
and
so
so.
E
/C
bore
plus
IPL
D.
So
basically,
this
is
strict.
Ipl
D,
encoded
in
C
bore
and
there's
also
IPL,
D,
plus
JSON
and
I.
Think
Michael
you
had
asked
me
about
what
does
the
plus
mean
the
plus
mean?
Is
that
you?
Basically
it's
a
constrained
type?
There's
like
you
have
application
JSON
and
then
you
actually
I
can
have
applications
JSON,
+
LD,
which
means
link
data.
B
E
The
only
thing
is
actually
in
strict
IP
LD.
It
ignores
everything
except
for
tag
42,
so
it
won't
allow
for
tag,
9
and
so
I
think
that's
my
dilemma,
which
is
that
it's
no
longer
IPL
D,
strict
IPL
D,
because
strict
IPL
D
ignores
everything
except
for
tag
42
in
northwards
beat
deterministic
and
that's
where
the
Big
C.
More
specifically,
my.
B
B
E
So
there's
an
example
at
the
bottom
of
my
rebooting
of
a
trust
which
is
actually
written
in
in
CD
DL
representation.
So
basically
it's
a
tag
98,
where
the
payload
points
to
a
tag
40s
who,
which
is
the
CID,
and
this
should
be
a
also
an
authentic
signature.
I
think
I
actually
did
go
through
the
pain
of
actually
validating.
To
make
sure
this
was
working.
E
E
Oh
okay,
and
but
it
tells
you
that
this
is
an
EDD
which
is
algorithm
minus
7,
which
is
it
translates
if
you
look
at
the
comment,
is
EDD
SI
256,
which
is
redundant
I,
think
in
the
CID,
but
it
actually
is
properly
formatted
cozy
with
the
payload
here
is
actually
a
mess
of.
What
you
sign
is
actually
is.
Is
this
tag
42
the
CID
at
least
the
binary
representation
of
what
that
CID
means?