ipld / explore.ipld.io

Explore the Merkle Forest from the comfort of your browser
https://explore.ipld.io
MIT License
122 stars 37 forks source link

Add examples for other IPLD formats #62

Open lidel opened 4 years ago

lidel commented 4 years ago

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:

jessicaschilling commented 4 years ago

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

mikeal commented 4 years ago

@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.

vmx commented 4 years ago

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.

rvagg commented 4 years ago

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?

lidel commented 3 years ago

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.