Expand description
This crate embodies the core implementation of the Noosphere protocol.
It includes facilities to:
- Get low-level access to Noosphere data structures (view and data)
- Interact with a Noosphere Gateway (api::Client)
- Read, update, and sync spheres via a high-level API (context)
- And more!
Modules§
- api
- This module contains data structures and client implementation for working with the REST API exposed by Noosphere Gateways.
- authority
- Data types and helper routines related to general Noosphere authority concepts.
- context
- This module implements content, petname and other forms of acccess to spheres. If you have storage and network primitives on your platform, you can initialize a SphereContext and use it to work with and synchronize spheres, as well as traverse the broader Noosphere data graph.
- data
- Core data types in use by the Noosphere protocol. Data types in here represent the canonical structure of Noosphere data as expressed by block-encoded IPLD.
- error
- Noosphere errors
- stream
- Utilities to support producing streams of blocks, as well as converting streams of blocks to and from CARv1-encoded byte streams
- tracing
- Helpers to wrangle logging across Noosphere crates NOTE: initialize_tracing should only ever be called in tests or binaries; a library should only concern itself with instrumentation and logging.
- view
- Views over raw Noosphere data to support efficient reading and traversal, as well as provide higher-level operations related to same.
Macros§
- route_
display - A helper macro to quickly implement a common Display format for Noosphere Gateway REST API routes