LogoLogo
  • 🔮DeSci Codex
    • 🕊️Overview
    • 🏁Design goals
  • Data layer definition
    • 🌳Introduction to Sidetree
    • 👾Entities
      • 🧑‍🔬Profiles
      • 📗Research object
      • 📄Research component
      • 🏅Claim
      • 📯Attestation
      • 💬Annotation
      • 🔁Relational information
        • 💫Research field
        • 🤝Contributor
        • 👉Reference
    • 🏷️Metadata
  • Protocol operation
    • 🎣Deterministic resolution
    • 🧑‍🤝‍🧑Participation
      • 📚Network operators
      • 🔮Gateway providers
      • 📦Data services
      • 🧲Advanced indexing
      • 🗺️dPID resolvers
      • 🛂Identity verifiers
      • 🏷️Legacy PID mapping
  • Implementation
    • 🌊Ceramic & ComposeDB
    • 🛠️Reference implementation
    • ⚠️Current limitations
      • 🤞Mutability quirks
      • 🧐Invalid data
      • ⌛Timestamps
      • 🎟️Delegation of permissions
  • Future work
    • 🧩Feature wishlist
    • 🛣️Roadmap
Powered by GitBook
On this page
  1. Implementation

Reference implementation

Last updated 1 year ago

The reference implementation includes models representing the graph entities and relations, a test suite for ensuring functionality, and a GraphiQL service for exploring the relational schemas.

The code is available here:

There is no graphical demonstration at the time being, but DeSci Labs is testing the protocol in the DeSci application.

Relational diagram

This is an unhelpfully tangled, but accurate, depiction of the queryable relations between the different entities as expressed in the ComposeDB models, and queryable through the GraphQL API. In the repository, you can play around with these in the GraphiQL interface instead, and query some example data.

While this is called a reference implementation, running parallel implementations on different data networks, and syncing the state, is likely impossible. This is not necessary for protocol extensibility, as this is already made possible through ComposeDB. In the case that the underlying data layer proves to be insufficient for the needs of the protocol, it can be implemented on a different stack and all signed data could be migrated.

🛠️
https://github.com/desci-labs/desci-codex
Nodes
Click to zoom
👀