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

Visualizing DAG-CBOR with IPLD Schema (.ipldsch)

Open lidel opened this issue 1 year ago • 0 comments

DAG-CBOR documents should have an option to visualize them against type(s) from user-provided .ipldsch.

Problem

We've found UX papercut identified with @aschmahmann while trying to provide useful interface for exploring DAG built with IPLD Schema tuples.

DAG-CBOR data is just numbers, and IPLD Explorer does not provide a way of leveraging IPLD Schema .ipldsch definitions.

Solution

Perhaps "Add IPLD Schema" button on DAG-CBOR pages?

Details TBD, but I envision two flows:

  • Ad-hoc: User clicks the button, then selects the .ipldsch file from their disk, and then user selects the type to use. The schema and type choice per CID is remembered locally (cookie/localstorage)
  • Permalinks: User clicks the button, enters URL of the .ipldsch file, selects the type to use, and both URL and type are persisted in the URL, so the view that uses schema can be shared by copying current URL.

References and Test Data

  • https://ipld.io/docs/schemas/
  • https://github.com/ipld/js-ipld-schema
  • Sample CIDs and IPLD Schema can be sourced from https://old-faithful.net/ project
    • Sample Schema: https://github.com/rpcpool/yellowstone-faithful/raw/refs/heads/main/ledger.ipldsch
    • bafyreif22uctcerymml3ahgs2ezkcbkxip4fptrn57gh2eiau7vokwrrzm corresponding to this transaction
    • bafyreifepnsied7dsdqlrz4ok2pmnsipl5qvhyjlupnpjcwl2utxo4xvyy corresponding to this transaction
    • getting more cids: /api/v1/sig-to-cid/5Tcw5BT8Spsh3pg6nMaVyrydWSZdiN1YVheVXBHyHrUDTzBJR4pQ3GW9bC5ELJhEThWKgYQtSp71wXzsF4oz9wYX returns bafyreif22uctcerymml3ahgs2ezkcbkxip4fptrn57gh2eiau7vokwrrzm

lidel avatar Sep 20 '24 20:09 lidel