State of IPLD, 2021
- a quick overview
- the latest news
- ...with pictures!
The
Quick Recap
- The Data Model
- Codecs
- Traversal
- Philosophically: Legibility and Generic Transforms
- More cool stuff
- Data Structures (sharding, encryption?, ADLs)
- Schemas (design languages!)
- Programmatic Transforms...?
goals
(much briefer)
but first
building the next git...
should take hours, not days.
overall,
Quick Recap: Wtf is a codec?
- A codec is a function that goes from
{serial bytes} -> {IPLD Data Model}
- Or the other way around.
.... okay so wtf is a data model
Quick Recap: "legibility" and
the Data Model
- map, list, int, string, bool, bytes, link
- okay, fine, float, but i don't want to talk about it
- it's enough to path over it
Quick Recap: Traversal
So you can probably see how this pretty much falls out of the "legibility" thing.
{"foo":{"bar":{"baz":42}}}
traversal.Get(that, "foo/bar/baz")
-> 42
"more cool stuff"
- Selectors (graph walks, declaratively)
- Data Structures (sharding, encryption?, ADLs)
- Schemas (design languages!)
- Programmatic Transforms...?
(We're gonna have to go over these sofast)
Cool stuff: Selectors
if you can step, you can walk
+
->
Cool stuff: ADLs
- what if something implemented "Node"...
- but all the functions for a "map"...
- actually looked up more blocks,
used a sharding function to nav a tree,
and did cool stuff?
Yeah hi that's ADLs. Plugins where
the result acts like Data Model.
(Select over it... you know want to...)
Cool stuff: Schemas
- i'm gonna straight up return EAGAIN
on this for time constraint reasons
- check out the specs and docs site,
or ask me for another session on this
- they're selfhosting and selfdescribing
and frankly kinda neet
- structural typing on top of the DM
Cool stuff: Programmatic Transforms
- Shallow end: "IPLD Patch"?
(not today, maybe soon)
- Deep end: whole interpreter
and environment?
Sure why not
Hold on for more news throughout the week,
I've heard...
New things! A "printf debug" format
...okay you'll see this in a few slides,
where it appears in docs.
New things! Data driven test fixtures
- Bullet One
- Bullet Two
- Bullet Three
New things! Golang 'bindnode' feature
- Bullet One
- Bullet Two
- Bullet Three
Docs
docsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocsdocs
Docs
(You may want to ignore the front page.)
Don't be distracted by the blockchain logos.
IPLD is about a lot more than blockchains.
To get an overview of scope, jump t to the first page of docs, then:
check out the TOC ->
Docs
Example contents:
- "The Brief Primer" (recommended reading!)
- Data Model Specs
- "Getting Things Done" guides
- Specs for our most key codecs
- Specs for CAR format
- Specs for Selectors system
- AdvancedDataLayout APIs
- Schema Specs
- Design Concepts
- and more!
Docs
New! We're now seeing the new print debug format in docs as explainers:
Docs
New! We have executable docs and specs now:
Where to contribute??!
tests, fixtures, specs, design...
-> github.com/ipld/ipld
golang...
-> github.com/ipld/go-ipld-prime
js...
-> honestly, idk
spørsmål?
(ok, smol surprise)
we uh, have a starlark interpreter binding now
IPLD quicksup 2021
By warpfork
IPLD quicksup 2021
What's up and what's fresh in IPLD in 2021. There's a little intro review, but mostly it's pictures of the latest hotness stuff.
- 250