Glossary - amark/gun GitHub Wiki

Warning, many of these entries added by a new user whilst attempting to get to grips with GUN:

_

A reserved field in a gun node object acting as a key for the node's metadata. E.g.

    {    
        "_" : { ... }, // meta data object
        ...
    } //node object

#

  1. Symbol used to denote a node's soul in a node's metadata object.
  2. Symbol used to enter frozen space, roughly "the following is a hash, data got from this context should match it"
  3. Symbol used to denote a gun reference when acting as a key in a node's object

>

Symbol used to denote state vectors (represented by an number) for a node's properties. Used by the Hypothetical Amnesia Machine.

~

Symbol used to say "the following represents an public key"

@

Symbol used to say that "the following text is an alias to a public key"

Alias

A mapping from a utf encoded string to a public key. denoted with @, e.g. @bob, @alice. Note. Unclear to me whether this applies locally in a user context or globally across whole gun system.

Graph

An object that contains unique nodes.

Graph. Universe. Node., GUN

this

Hypothetical Amnesia Machine, HAM

A state machine held by each node that is used to determine which is the correct version of a given object to use.

Mesh

A collaborative network where each peer is responsible for forwarding others' messages (and responding to requests if it has the data). Refers to the concept of a mesh network.

Node

An object within a graph. It can contain primitive values, but not other objects (only pointers to other nodes). Also known as a vertex in graph theory.

Partition

When one group of peers can't communicate another, such as two servers losing connection between each other, but still serving clients.

Peer

A single device on a mesh network. Usually takes both roles of client and server.

Pseudo-merge/Union

An intelligent merge between two objects. Unlike Object.assign, it uses the HAM conflict resolution engine to ensure updates are merged commutatively.

Pseudo-node/Key Node

A special type of node in gun used for adding secondary indices (via the .key() method). It provides a list of unique IDs to pseudo-merge into an aggregate node.

Security, Encryption, Authorization., SEA

The library that handles security, encryption and authorisation.

Relation, Reference, Gun reference

A link from one graph node to another. The is denoted by the # in the node's object. Looks like { '#': 'aOCLhos5ADx3' }

Root, Root node

The zeroth node, the node with no key. The node at which a users starts to traverse their view of the Universe

Soul

A synonym for an object Universally Unique Identifier. Each node in gun has one (named "#" in the object metadata).

Universe

The sum total of all nodes and graphs across every peer in the application.


Search terms: acronym, backronym, stands for, meaning define, GUNdb, GUNjs