ipld / ipld/explore.ipld.io

Visualizing DAG-CBOR with IPLD Schema (.ipldsch)

Open
#147 0 comments 0 reactions 0 assignees View on GitHub
need/triage
Dominant language
JavaScript
Stars
134
Forks
34
PR merge metrics
No merged PRs in 30d

Description

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](https://explorer.solana.com/tx/5Tcw5BT8Spsh3pg6nMaVyrydWSZdiN1YVheVXBHyHrUDTzBJR4pQ3GW9bC5ELJhEThWKgYQtSp71wXzsF4oz9wYX)
- `bafyreifepnsied7dsdqlrz4ok2pmnsipl5qvhyjlupnpjcwl2utxo4xvyy` corresponding to [this transaction](https://explorer.solana.com/tx/47PBYLe5QxJxXpvdsEYuRnzUYekDu77XbDNpbgWPKn8qd43qaytJreJURdRh1VmML3XT1DZ39EXT5wR9iPxPMgH7)
- getting more cids: `/api/v1/sig-to-cid/5Tcw5BT8Spsh3pg6nMaVyrydWSZdiN1YVheVXBHyHrUDTzBJR4pQ3GW9bC5ELJhEThWKgYQtSp71wXzsF4oz9wYX` returns `bafyreif22uctcerymml3ahgs2ezkcbkxip4fptrn57gh2eiau7vokwrrzm`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.