PreviousIDis the CID of the previous advertisement, and is empty for the 'genesis'.
peer.IDof the libp2p host providing the content.
IsRmflag set, all previous CIDs advertised under that ContextID will be removed.
varintindicating the remaining format of metadata. Store the index operators may limit the length of this field, and it is recommended to keep it below 100 bytes.
EntryChunkchain is defined as the following schema:
Entrieslist is the array of multihashes in the advertisement. If an advertisement has more CIDs than fit into a single block for purposes of data transfer, they may be split into multiple chunks, conceptually a linked list, by using
Nextas a reference ot the next chunk.
EntryChunkshould stay below 4MB, and a linked list of entry chunks should be no more than 400 chunks long. Above these constraints, the list of entries should be split into multiple advertisements. Practically, this means that each individual advertisement can hold up to approximately 40 million multihashes.
uvarintidentifying the protocol, followed by protocol-specific metadata. This may be repeated for additional supported protocols. Specified protocols are expected to be ordered in increasing order.
headmultiprotocol is exposed on the libp2p host as a way of learning the most recent current advertisement. The multiprotocol is named
/legs/head/<network-identifier>/<version>. The protocol itself is implemented as an HTTP TCP stream, where a request is made for the
/headresource, and the response body contains the string representation of the root CID.
headin the same directory as the advertisements/entries, and will expect back a signed response for the current head.
/indexer/ingest/<network>. For our production network, this is
/ingest/announceon the index node's 'ingest' server. Note that the ingest server is not the same http server as the primary publicly exposed query server. This is because the index node operator may choose not to expose it, or may protect it so that only selected providers are given access to this endpoint due to potential denial of service concerns.