To approach learning the Hypermedia protocol, we can break the learning down into different areas:

    The Data Format

      No matter how you interact with the Hypermedia network (as a reader, writer, or validator), you will need to understand the shape and meaning of the data. Here are some entry points to help you get started:

        IPFS

        Accounts & Sites

        Entity

        Document

    How to Receive and Distribute the Data

      There are two APIs you can use to interact with data in the Hypermedia network.

      The p2p protocol is used to communicate between parties on the network who might not trust each-other. We build upon the libp2p protocol to communicate between any two computers on the internet, despite messy network environments. They negotiate a version of the protocol to communicate over, and then use gRPC calls to gossip about network content. Once the network content is listed, the peers use IPFS to transfer the data itself.

      We also support a JSON/HTTP API (REST), which is generally used to interact with a trusted server. When you trust this server, you can skip the validation step and immediately start using the data.

      To distribute data, a node can prompt the peers when something has changed, and they can immediately sync it if they are interested.

    Validating the Data

      Regardless of how you get access to Hypermedia data, you might want to validate it to ensure the integrity. A full node will always validate it, while a light node can validate as much as it wants to.

      Some data in the system is self-validating- when the signer matches the address of the Entity. But you will often need to find Capabilities that supports the integrity of the content.

      There are many important mechanisms for data validation: format compliance, signature validation, and capability checking.