Skip to content

iprs-dev/iprs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IPLD Foundational Principles

  • Block, A block is a chunk of an IPLD DAG, encoded in a format. Blocks have CIDs.
  • Node, A node is a point in an IPLD DAG (map, list, number, etc.). Many nodes can exist encoded inside one Block.
  • Link, A link is a kind of IPLD Node that points to another IPLD Node. Links are what make IPLD data a DAG rather than only a tree. Links are content-addressable (CID).
  • Path Segment, A path segment is a piece of information that describes a move from one Node to a directly connected child Node. (In other words, a Path-Segment is either a map key or a list index.)
  • Path, A path is composed of Path Segments, thereby describing a traversal from one Node to another Node somewhere deeper in the DAG.
  • Transforming content of a Block into Nodes conforming to the IPLD Data Model should never require interpretation in the context of anything not contained in the Block plus CID.
  • Similarly, traversing an IPLD Node according to a Path should not require interpretation in the context of anything not already contained in that Node plus Path.
  • Format, is the standardized representation of IPLD Links and Paths. It describes how to translate between structured data and binary. MUST remain consistent across all codec implementations.
  • Content addressability refers to the ability to refer to content by a trustless identifier.
  • IPLD links must not be cyclic, even if we add support for relative links.
  • IPLD path resolution means the same thing, everywhere, every time.

Reference:

List of active multiformat specification(s).

There are other implementations that can suite your need better:

About

Inter-Planetary specifications in rust-lang

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages