explore.ipld.io icon indicating copy to clipboard operation
explore.ipld.io copied to clipboard

Add examples for other IPLD formats

Open lidel opened this issue 5 years ago • 5 comments

Figuring this out feels like a subtask of https://github.com/ipfs-shipyard/ipld-explorer/issues/55 – cc @jessicaschilling

Right now only three formats are demoed at https://explore.ipld.io (and in ipfs-webui): ipld-dag-pb (unixfvs1), ipld-git and ipld-ethereum:

Screen Shot 2020-05-28 at 13 50 51

The app itself imports more codecs, most of them remain unused, which also makes it harder to detect any regressions:

https://github.com/ipfs-shipyard/ipld-explorer/blob/56de6933669fb7e1dd7422616f265c3392ee9a24/src/bundles/index.js#L10-L16

@mikeal @vmx would appreciate your thoughts on:

  • Would it be beneficial to IPLD project if https://explore.ipld.io provided more examples?
    • Do you have good/preferred examples of CID for each format?
  • What is the canonical term for IPLD formats? (I've seen people mentioning "IPLD format", "codec", "multicodec" and even "block type", clarifying this in IPLD Explorer would make it easier for folks to use a single term)

lidel avatar May 28 '20 12:05 lidel

+1 to this. Looking forward to hearing from @mikeal and @vmx 😊

jessicaschilling avatar May 28 '20 16:05 jessicaschilling

@rvagg if we can pin the bitcoin dataset we should include it here as well, and zcash and eth once they are imported.

What is the canonical term for IPLD formats?

The terminology we solidified about a year ago is “codec.” We only use “format” when talking about the internal format of a codec.

mikeal avatar May 28 '20 18:05 mikeal

The terminology we solidified about a year ago is “codec.”

I was asked a similar thing recently and answered: "I haven't used the word 'format' for for a long time". Which is a sign that we indeed use "codec" these days.

vmx avatar May 29 '20 10:05 vmx

We could build a bitcoin block explorer with this, but we'd need to pin some blocks in IPFS to make it usable. Probably shouldn't pin the entire blockchain because we're talking about many millions of IPLD blocks but we can have a selection for example purposes. (Although, if we did a good enough job and made a decent block explorer that people wanted to use we could store them locally and load them outside of IPFS, but maybe that's another user story to consider later).

How would we go about pinning a set of blocks (I have them in CAR files and can add them somewhere), is that managed here?

Also ... @mikeal, the new BTC work depends on the new multiformats work, which is not what's being used here, so it might be a bit of a rabbit hole to try and integrate it, no?

rvagg avatar May 30 '20 03:05 rvagg

I propose we focus on things that are actually useful out-of-the-box, namely, adding examples for raw and dag-cbor. While git-raw and eth-* are cute, they have very narrow usefulness to people when compared to those. Every codec that is included by default with go-ipfs and js-ipfs should have an example in IPLD Explorer, but that is not the case at the moment.

raw is easy (echo -n "hello" | ipfs add --cid-version) but unsure what would be a good example for dag-cbor – any prior art? If not, I can create dag-cbor with fake NFT metadata or something.

lidel avatar Apr 02 '21 15:04 lidel