ANTRequest's PlanetPeer Specification (Version 0.0.1)

Discovery is important. but other specifications and implementations might have problems with initialization.

Like how are you going to find planets when you have no idea how to access a planet's computer address

and by computer address i mean all methods a computer can identify each-other, like ip and domains (dns).

Table Of Contents

Table Of Contents

Status of this document

this document written on is Semantic version 0.0.1. this document is self-published independently.

This Specification Depends On

This Specification uses external references

Why?

While you use the web like a regular person, you might not have any idea how Decentralized systems work. Decentralized means without a central authority, by usually it is an "almost". while ANTRequest's Specifications are also an "almost". i try to lessen the impact of ANTRequest's eventul disappearance by promoting "Fork Build Deploy" as seen in the Philosophy section of the Foundation.

But you cant have a Decentralized Network without having a Network, and you cant have a Network without finding other Nodes. planetpeer.json solves the "find more Planets using a starting point". but you might not have a starting point, that is the bootstrapping problem how to find your first planet when you have none.

planetpeer.json

A planetpeer.json is a JSON file that MUST be accessible at https://{domain}/Favicond_/planetpeer.json where {domain} is the planet's domain. a planetpeer.json MUST follow these rules too

Planetary Peers

In a normal Decentralized system, there are only peers, almost no servers , but in the ANTRequest Specification ecosystem Servers (called Planets) are an important part of the ecosystem, where Peer means Edges, Planetary Peer means Peers as Planets.

To Support a Decentralized Network, Planets are recommended to have as many Planetary Peers as possible as they wish. Planetary Peer object's structure is at follows. (the Field description MUST be followed, if you do not wish to implement a field, do not include it in the JSON)

Field NameField TypeRequiredField Description
Origin string MUST the plate's Origin, in the format of the Origin Header, Ports and Plain HTTP schemes MUST not be listed at all.
LastFetched string MAY When the current planet Last Fetched the planet's planet.json in the RFC 3339 Format.

PlanetSpec FeatureSlugs

You MUST add the URL https://antrequest.nl/standard/PlanetPeer/0.0.1/ with "main" set to true. if planetpeer.json is supported "planetpeerjson" MUST be set to true also. like so.

{
    "compat": {
        "https://antrequest.nl/standard/PlanetSpec/0.1.0/": {
            "main": true
        },
        "https://antrequest.nl/standard/PlanetPeer/0.0.1/": {
            "main": true,
            "planetpeer_json": true
        }
    }
}