Skip to content

[Task] Support relative references in CoreDocument #1072

Open

Description

@olivereanderson

Description

Add support for representing references to verification methods and services by fragment only in CoreDocument. In other words the following example from the DID core spec should deserialize to a valid CoreDocument.

Development in this PR

Motivation

Section 3.2.2 of the DID Core spec states that relative references are often used to reference verification methods and services in DID documents.

Resources

Link to any resources relevant for the task such as issues, PRs, reference implementations, or specifications.

To-do list

Create a task-specific to-do list. Please link PRs that match the TODO list item behind the item after it has been submitted.

  • Item one
  • Item two
  • Item three

Change checklist

Add an x to the boxes that are relevant to your changes, and delete any items that are not.

  • The feature or fix is implemented in Rust and across all bindings whereas possible.
  • The feature or fix has sufficient testing coverage
  • All tests and examples build and run locally as expected
  • Every piece of code has been document according to the documentation guidelines.
  • If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
  • If the feature is not currently documented, a documentation task Issue has been opened to address this.

Activity

  1. added this to the v1.0 Features milestone on Nov 9, 2022
  2. olivereanderson commented on Nov 15, 2022

    @olivereanderson
    Author

    Here is a list of possible solutions:

    1. Make deserialization expand such fragments to full DID URLs by prepending the document's id.
    2. Similar to 1. , but also make serialization ignore the DID part of a DID URL (as long as it is the same as the document's id).
    3. Expand the MethodRef type to also include a Fragment variant.

    Question: Could approach 3. be problematic in the presence of custom JSON-LD @context ?

  3. removed this from the v1.0 Features milestone on Dec 11, 2023
  4. moved this from Product Backlog to Sprint Backlog in IOTA Trust Framework Developmentson Feb 5, 2024
  5. added this to the v1.2 milestone on Feb 5, 2024
  6. moved this from Sprint Backlog to Product Backlog in IOTA Trust Framework Developmentson Feb 16, 2024
  7. modified the milestones: v1.2, v2.0 on Feb 16, 2024
  8. moved this from Product Backlog to Sprint Backlog in IOTA Trust Framework Developmentson Mar 13, 2024
  9. moved this from Sprint Backlog to In Review in IOTA Trust Framework Developmentson Mar 22, 2024
  10. moved this from In Review to Sprint Backlog in IOTA Trust Framework Developmentson Dec 2, 2025
  11. moved this from Sprint Backlog to Product Backlog in IOTA Trust Framework Developmentson Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

RequestRequest a feature

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions