►
Description
Every other week, the Retrieval Market Builders get together to share progress in their projects in a demo format. We want to sincerely thank all of our collaborators for demoing their developments and helping to improve the FIL Retrieval Markets one demo at a time.
February 2, 2022, Demo Day: In this video, you can find
Myel: Rust/WASM data transfers
Ken Labs: Pando Update
__________________________________________________________________________________________
If you would like more information about the Demo Days please follow the link below to the Demo Days planning document.
https://docs.google.com/document/d/1IrNbBm2_P79Xi2fXFj9YUfQ0PjWjreGdPYFjFntD1QM/edit?usp=sharing
A
Hello
and
welcome
to
this
week's
retrieval
market
demo
day.
Today's
date
is
wednesday,
the
2nd
of
march
2022.
on
the
schedule.
Today
we
have
mayell
giving
an
update
on
one.
Second
rust
was
on
data
transfers
and
then
ken
labs
giving
an
update
on
pando.
So
if
anyone's
got
any
questions,
please
put
them
in
the
slack
channel
as
usual
and
over
to
you,
toma
cool
thanks
I'll
just.
B
All
right,
so
you
should
see
a
browser
if
oh
as
well,
cool,
so
yeah
we've
made
a
few
different
changes
to
our
architecture
since
the
last
demo.
Probably
so.
This
is
kind
of
the
first
kind
of
version
of
our
implement
a
new
implementation
which
is
kind
of
built
in
rust
and
compiled
to
wasm.
B
So
we're
kind
of
you
know
moved
away
from
our
javascript
clients
implementation
because
of
performance
bottlenecks
that
we
just
couldn't
overcome,
and
so
we've
kind
of
been
re-implementing
everything
with
a
single
code
base
and
rust.
B
So
now
our
pop
is
in
rust,
two
and
the
client
is
in
is
compiled
to
web
assembly,
and
so
this
is
kind
of
a
very
simple
demo,
which
is
basically
just
makes
a
request,
and
you
can
see
loads
of
a
gif
and
essentially
you
know
we
used
to
run
things
in
a
service
worker,
and
so
we
kind
of
had
a
few
issues
with
that
with
wasm.
So
now
we're
kind
of
running
this
in
dedicated
workers.
B
B
So
you
get
a
promise
with
a
response
and
then
you
have
a
stream
and
you
can
use
that
to
just
you
know
attach
to
any
kind
of
html
element
or
stream
or
video
streaming
or
anything
like
that
and
we're
still
working
on
the
on
the
video
streaming
loader
to
be
able
to
stream
with
hls,
and
things
like
that.
So
we'll
have
a
more
comprehensive
video
streaming
example
demo
soon,
but
so
right
now.
B
This
is
just
basically
doing
very
simple
content,
like
images
and
things
like
that,
and
the
performance
we've
seen
so
far
is
kind
of
we've
doubled
the
performance
than
where
our
javascript
client,
what
used
to
be,
and
that's
without
any
optimization,
so
we've
kind
of
been
working
to
complete
all
the
features
and
make
this
like
very
usable
so
that
we
can
get
online
as
quickly
as
possible
and
run
those
pop
nodes
and
and
have
kind
of
measurements
running
on
a
live
network.
B
I
can
do
different
files
due
to
for
the
demo
if
you
want,
just
as
an
example.
Let's
see,
I'm
just
gonna
just
do
a
different
thing.
So
here
we
just
have
a
regular
cids
for
images,
we're
still
working
on
the
having
since
it's
working
with
unix,
fs
gags
and
so
we're
implementing
the
the
reification
right
now
to
be
able
to
have
path
that
maps
to
selectors.
B
So
we
can
select
specific
entries
inside
of
a
unix
fs
directories
before
that
we
used
to
do
multiple
transfers,
so
we
would
do
like
a
first
transfer
that
will
retrieve
the
entries
and
then
do
another
transfer.
B
But
since
it's
gone
out
in
go
we're
implementing
the
the
same
thing
in
rust
so
that
we
can
do
the
same
thing
and
it's
also
the
implementation
is
fully
compatible
currently
with
the
go
implementation
and
the
latest
graph
sync
and
go
data
transfers.
So
this
is
you
know
this
also
implements
the
data
transfer
protocol,
which
enables
us
to
enable
payments.
We
still
don't
have
payments
running
just
yet,
but
we
have
all
the
things
together.
B
So
we're
really
focusing
on
optimizing
performance
on
the
transfers
first
and
then
we'll
add
the
payments
to
it
once
it's
working
and
nicely
and
usable,
but
which
should
be
pretty
fairly
quickly.
Since
we've
already
have
the
experience
of
implementing
this
in
go
and
in
javascript
so
yeah.
This
is
kind
of
everything.
I
guess
I
could
go
deeper
into
some
technical
details.
If
anyone
wants
or.
A
B
Yeah
definitely
well
so
the
the
entry
point
is
still
web
assembly,
so
basically
when
to
load
the
api
to
load
the
interface
to
to
make
the
requests,
you
still
need
to
load
the
webassembly
file
into
your
your
html
or
your
javascript,
and
so
once
you
have
that
you
just
initialize
the
the
web
assembly
bundle
and
then
you
can
call
the
request
method
with
like
the
with
just
a
simple
ipfs
path.
B
So
you
would
have
the
the
root
cid
in
there
and
then
any
kind
of
arbitrary
path
that
you
need
to
reach
for
the
file
with
the
file
name
there,
and
so
essentially
that
method
in
webassembly
will
spin
up
from
webassembly
a
new
worker
and
then
call
that
a
method
in
that
worker.
So
webassembly
is
sharing
memory
with
the
worker.
So
you
have
like
direct
memory,
transfer
you're,
not
copying
data
or
anything
like
that,
and
so
essentially
that
the
retrieval
starts
within
from,
within
the
background,
the
web
worker.
B
That
was
spun
up
during
that
request
and
then,
as
it
streams,
it's
progressively
validating
the
blocks
and
sends
back
the
blocks
as
shared
memory
back
to
the
main
thread,
which
is
then
basically
transformed
as
a
readable
stream
into
javascript.
B
So
you
can
use
the
data
to
do
whatever
you
want
and
then
the
worker
basically
is
still
running
in
the
background,
so
you
can
send
other
requests
to
it
and
things
like
that.
We
are
exploring
ways
that
we
can
spin
up
child
workers
as
well,
so
we
could
have
multi-threaded
operations.
B
Essentially,
we
could
parallelize
some
work
and
go
even
faster,
so
that
would
be
a
good
way
to
improve
performance,
which
is
something
that
was
not
possible
previously
inside
of
service
workers,
because
you
can't
spin
up
workers
from
a
service
worker,
but
you
can
from
different
workers.
So
this
enables
ways
that
you
we
can,
you
know
almost
get
to
the
same
kind
of
multi-threaded
environment.
As
you
know,
native
rust
would
have
or
go,
and
things
like
that.
A
So
it's
the
main
reason
to
switch
from
service
worker
to
a
web
worker
because
of
that
multi-threaded
aspect
and
and
what
is
anything
that
you're
losing
by
making
that
transition.
So.
B
Actually,
the
main
reason
was
that
we
couldn't
cleanly
load
wasm
inside
of
the
service
worker,
because
the
essentially
you
have
you,
you
need
to
register
the
handlers
immediately
when
you
initialize
the
service
worker,
but
this
is
still
a
little
asynchronous
load
time
for
which,
during
which
you
need
to
load
the
wasm.
B
So
essentially,
you
need
to
do
a
little
bit
of
a
hack
around
like
adding
a
promise
to
the
global
scope
and
then
waiting
for
that
to
resolve
and
in
the
handler
and
things
like
that,
so
it
was
just
kind
of
a.
It
was
a
little
messy
and
complicated.
B
So
that
was
kind
of
the
first
thing
that
made
us
explore
different
things
and
then
the
multi-threaded
aspect
is
also
something
that
we're
excited
about.
So
I
think
both
of
these
things
and
also
you
know
you
still
have
the
cold
start
issue
which
you
know
when
you
have
to
register
a
service
worker.
There's
still
like
the
installation
phase.
That
can
add
a
little
time.
So
these
things
are
definitely
things
that
we're
considering
to
improve
the
initial
load
speed.
B
But
you
know
the
thing
that
you
give
up
on
the
other
side
is
that
you
can't
really
have
a
very
clean
html.
Only
api
where,
like
they're,
the
requests
are
directly
proxied.
You
still
need
to
use
that
web
assembly
api.
B
So
essentially
you
would
need
to
create
abstractions,
like
I
don't
know,
some
types
of
react,
components
or
whatever
you're
using
for
as
a
framework
in
order
to
work
really
smoothly
and
then
load.
You
know
web
components
that
that
load,
images
and
things
like
that.
So
you,
I
think
that
it
definitely
adds
a
little
overhead,
but
we're
definitely
exploring
solutions
to
to
make
this
simpler.
So
yeah.
A
Awesome
yeah
any
questions.
I
suppose
we
haven't
got
too
much
on
the
agenda
today,
so
we
can
probably
take
questions
in
between
the
talks.
A
No
okay
cool
well,
in
which
case
over
to
you,
william,
for
update
on
pando.
C
Thanks,
patrick
I'm
in
the
car
at
the
moment,
sorry,
I
I'm
just
nervous.
I
was
just
aware
it's
a
time
now
so
yeah.
I
just
stopped
the
video
and
share
my
screen.
C
Yep,
okay,
today
I'm
going
to
give
you
some
update
of
the
panda
service
in
the
in
past
two
weeks
we
have
been
focusing
on
the
dearborn
integration
and
the
dealport
has
completed
their
integration
with
golex
and
the
data
published,
and
so,
according
to
the
integration
test,
we
realized
some
issues.
So
we
updated
the
metadata
specification.
C
C
At
the
same
time,
we
are
still
addressing
some
issues,
so
in
next
few
weeks
we
will
be
still
working
on
integration
test.
I'll
say.
The
last
thing
is
a
consumer
example
released
in
the
github
repo,
so
any
consumer
interested
can
go
and
check
out
the
example
by
utilizing
the
pando
sdk,
so
how
you
can
sync
some
data
from
the
panda
service.
C
So,
first
of
all
I
want
to
show
you
the
change
in
our
dock.
The
main
thing
pandora
accept
pld
data
from
the
metadata
providers.
We
updated
the.
C
C
It's
a
it's
a
bite
of
your
sterilized
metadata
and
in
terms
of
signature.
So
this
is
how
you
you
should
sign
your
your
data,
so
the
bytes
of
previous
id
files
of
the
payload
and
the
provider
so
get
them
all
concatenated
and
assigned.
So
this
is
signature.
You
should
provide
to
pandora
service
at
a
bundle
site.
This
is
also
the
mechanism
we
use
to
verify.
C
The
last
thing
is
it's
not
changed
just
to
emphasize
the
previous
id.
This
is
the
the
node.
You
should
use
to
link
your
metadata
if
you're
a
provider
in
this
way,
pando
service
is
able
to
sync
or
do
a
recursive
thing
for
your
data.
Even
some
mods
or
the
the
notification
between
are
lost.
So
this
is
a
guarantee
for
the
full
sync
of
your
metadata,
and
the
last
thing
I
want
to
show
you.
This
is
a
consumer
example.
C
C
C
C
So
I'll
say
that
so
you
can
see,
this
is
the
most
mostly
just
the
the
log
information
for
data
transfer
and
the
graph
sync.
So
if
we
scroll
down
to
the
very
last
two
lines,
so
this
is
the
id
of
this.
Is
the
latter
one?
If
you
see
here
this
one,
so
this
is
the
head
and
it's
going
to
fit.
It
has
fetched
all
the
data
from
the
panel
service,
get
it
synced
down,
so
we
can
see
the
things
succeeded
here.
C
If
you
are
interested
in
running
locally,
you
can
also
follow
the
documentation
here
to
build
your
own
panel
service
and
the
client
and
get
it
started
in
your
local
dev,
environment,
okay.
So
this
is
a
pando
service
in
production
now
and
not
too
much
information
from
the
dashboard.
So
there's
only
one
provider
registered
which
is
therebot,
and
I
think
that
the
master
instance
or
the
main
instance,
so
we
are
still
waiting
for
the
data
published.
B
I
had
a
question
just
to
clarify
the
in
the
metadata.
Spec
is
the
previous
id,
the
cid
of
the
previous
entry
or
where
I'm
not
sure,
I
understood
well
how
it
where
it
came
from.
C
Okay,
technically
or
from
development
or
engineering
point
of
view,
we
are
using
the
link
system,
so
essentially
it's
also
a
cid,
but
you
need
to
use
a
link
system
to
produce
or
create
a
link
so
that
the
link
can
be
used
as
a
the
previous
id.
C
A
Cool
yeah,
can
I
ask
when
the
deal
about
data
starts
to
flow
into
pando?
Will
that
be
open
to
anyone
to
consume?
Will
the
data
just
be
public.
C
For
now
we
don't
have
restriction
to
any
access.
Ideally,
yes,
as
long
as
you
have
access
to
pando
domain,
so
you
have
access
access
to
the
data.
I'll
say
for
now.
I
I
can
see
deal
about
just
fill
the
the
bytes
of
a
cid
in
the
payload.
So
what
you
get
from
the
pando
servers
will
be
a
cid
from
dealbot.
You
may
need
to
use
rcad
to
fetch
the
actual
content
or
the
metadata
by
some
means.
So
this
is
to
be
clarified
and
I
think,
with
also
mercy
for
further
use
case
yeah.
D
One
cool
question:
sorry,
if
I
was
in
and
out
a
little
bit
at
the
very
beginning
of
the
call
on
the
demo,
but
did
you
talk
a
little
bit
about
the
back
end?
You
know
that
does
the
indexing
and
the
scalability
of
it
and
so
forth,
or
maybe
that's
not
relevant
for
this
demo.
D
C
D
C
Oh
okay,
no,
it's
not
covered
yet
and
we.
D
C
Really
tested
the
scalability
and
consider
the
scalability
design
for
now.
D
Okay,
so
this
is
okay,
this
this
project
is
a
little
bit
more
looking
at,
like
the
ui
ux
for
developers
and
and
participants
in
the
network.
More
than
more
than
what's
going
to
happen
on
the
on
the
back
end
side,.