From d995d6c71a994952e04823e5fc6ee13dea88d8bb Mon Sep 17 00:00:00 2001 From: Jordan Trouw Date: Fri, 3 Nov 2023 13:23:24 -0700 Subject: [PATCH] Updated layout for easier readability and updated glossary layout --- docs/glossary.md | 47 +++++++++++++++++----- docs/index.md | 10 +++-- src/theme/DocItem/Layout/index.js | 3 +- src/theme/DocItem/Layout/styles.module.css | 1 - src/theme/DocPage/Layout/Main/index.js | 22 +++++----- 5 files changed, 55 insertions(+), 28 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index f571247..8b79f3b 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -10,15 +10,33 @@ Looking for a quick reminder on definitions or usages for XYO technology? You're -## Node + +## The Basics + +### Module +A Module is an account or wallet with a sovereign ledger and the ability to build and sign Bound Witnesses. +Modules encapsulate XYO components (Archivists, Diviners, Bridges, etc.). All Modules have their own Bound Witness ledger, which allows them to remain sovereign and provide valuable and verifiable audit trails for data. Modules add to this Bound Witness ledger with a new signature when they are called via a query (remotely, in most cases). After being called, Modules build a Bound Witness and sign it, including the signature in the response. + +Types of Modules include: + +- Node +- Sentinel +- Bridge +- Archivist +- Diviner + +## Module Types + +### Node **A Node is a collection of modules.** -Node modules provide scoping, so you can easily create public and private collections of modules. With a Node, you can also desgn unique collections with very specific access inclusions and exclusion. This scoping is key to organization, as well as sovereignty for data and projects created with XYO. +Node modules provide scoping, so you can easily create public and private collections of modules. With a Node, you can also design unique collections with very specific access inclusions and exclusion. This scoping is key to organization, as well as sovereignty for data and projects created with XYO. It is important to note that a Node module is not the same as a simple "node" in a network. A "node" may refer to a singular instance of something inside a larger, greater network. A Node module is specifically a collection of XYO modules. -## Sentinel +### Sentinel **A Sentinel tells one or more modules what to do.** + Similar to a conductor or a Zapier "Zap", the Sentinel contains instructions for other modules to complete. These tasks are often specialized steps that lead to a greater, overall task. Most importantly, Sentinels do a lot of heavy lifting when it comes to the cryptographic design of XYO. A Sentinel can provide a final signature for a bundle of completed tasks, and it can instruct other modules to sign off on independently completed tasks. Each of these signatures creates a Bound Witnesses. @@ -31,7 +49,7 @@ The more Sentinels that can agree and include unique signatures on the Bound Wit - A smart-watch that records your heart rate - A thermometer that collects real-world temperature data -## Bridge +### Bridge **A Bridge serves as a connection between different nodes.** A Bridge is most often used when traversing a technology connecting remote modules. An example of this may be a Bridge connecting a local module running on your computer and a remote module that requires HTTP access. Another example may be when crossing a Bluetooth connection between two separate nodes. @@ -42,24 +60,31 @@ At its core, a Bridge transfers Bound Witness and payload data from Sentinels to - A smartphone - A Raspberry Pi -## Archivist +### Archivist **An Archivist is where Bound Witness and Payload data is stored.** At its core, an Archivist is a module designed to store things. Archivists can be shared, hosted, or self-hosted, similar to a database. It is also possible to run an Archivist on the same device as the Sentinel and Bridge. This allows a developer to simplify their XYO system, and for example, store payloads on the same device where payloads are sent to remote modules (by a Bridge) or where actions are orchestrated and signed (by a Sentinel). -## Diviner +### Diviner **A Diviner is a module that transforms data.** A Diviner takes in data, transforms it, and delivers an answer or new form of that original data. You can think of them in the same way "Reduce", "Map", and "Filter" methods in Javascript transform the data they are applied to. For example, a "Summary" Diviner might work the same way a "Reduce" does — a diviner that takes in some amount of data, and transforms it it into a summary of that same data, like a sum or an average - -## Module -A Module is an account or wallet with a sovereign ledger and the ability to build and sign Bound Witnesses. -Modules encapsulate XYO components (Archivists, Diviners, Bridges, etc.). All Modules have their own Bound Witness ledger, which allows them to remain sovereign and provide valuable and verifiable audit trails for data. Modules add to this Bound Witness ledger with a new signature when they are called via a query (remotely, in most cases). After being called, Modules build a Bound Witness and sign it, including the signature in the response. - ## Bound Witness Blocks A series of blocks that contain the data collected by a Sentinel. + +## XYO Core Values + +### Sovereignty +Data Sovereignty is the right to own, control, and store data you create. + +### Provenance +Provenance is the origin or earliest known history of something. XYO incorporates provenance as a key feature of XYO technology through data provenance. is knowing where data was created, where it came from, who made it. + +### Permanence +Data Permanence emphasizes the need for trusted, long-term storage, organization, and access. XYO promotes data permanence because it so heavily influences data's use, reliability, and ultimately, value. + diff --git a/docs/index.md b/docs/index.md index 7c8eab3..4dc179d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,9 +13,11 @@ XYO’s defining premise is **decentralized verification**, allowing network dev ## Examples of XYO XYO is capable of processing any kind of decentralized data which can be generated, including location, user input, device interactions, and heuristics of all types. XYO’s network is also fully blockchain-enabled, allowing both data aggregation and storage to be fully decentralized if desired, although centralized data storage is also easily accomplished. XYO is designed to be easy to implement, with several SDKs now available and an API soon to follow, allowing developers to tap into better decentralized data, and to realize the full power of the data their software aggregates, in a few simple steps. + ## Advantages of XYO XYO’s features include: -- Built-in data validation, helping to protect your data from both errors and attacks. -- Optional, fully integrated blockchain functionality. -- An easy-to-use, human-readable, JSON-based data structure for storage and organization. -- [TODO] Roughly 2 more bullet points, total of 5ish. \ No newline at end of file +- **Optional Blockchain:** Whether you want to add a few decentralized plugins or completely re-vamp your project, XYO allows you to add just as much decentralization as you want. All XYO Modules have [sovereign](/glossary#sovereignty) ledgers, improving performance +- **Optional Blockchain:** Built-in data validation, helping to protect your data from both errors and attacks. +- **Optional Blockchain:** Optional, fully integrated blockchain functionality. +- **Optional Blockchain:** An easy-to-use, human-readable, JSON-based data structure for storage and organization. +- \ No newline at end of file diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js index fdfb696..a1bc5fe 100644 --- a/src/theme/DocItem/Layout/index.js +++ b/src/theme/DocItem/Layout/index.js @@ -1,6 +1,5 @@ import { useWindowSize } from '@docusaurus/theme-common' import { useDoc } from '@docusaurus/theme-common/internal' -import { Typography } from '@mui/material' import DocBreadcrumbs from '@theme/DocBreadcrumbs' import DocItemContent from '@theme/DocItem/Content' import DocItemFooter from '@theme/DocItem/Footer' @@ -36,7 +35,7 @@ export default function DocItemLayout({ children }) {
-
+
{docTOC.mobile} diff --git a/src/theme/DocItem/Layout/styles.module.css b/src/theme/DocItem/Layout/styles.module.css index 8b57ad7..5618bc9 100644 --- a/src/theme/DocItem/Layout/styles.module.css +++ b/src/theme/DocItem/Layout/styles.module.css @@ -5,7 +5,6 @@ @media (min-width: 997px) { .docItemCol { - padding-right: 60px !important; margin-right: auto !important; } } diff --git a/src/theme/DocPage/Layout/Main/index.js b/src/theme/DocPage/Layout/Main/index.js index 6950e1b..ea7a3ab 100644 --- a/src/theme/DocPage/Layout/Main/index.js +++ b/src/theme/DocPage/Layout/Main/index.js @@ -1,6 +1,6 @@ // eslint-disable-next-line import/no-internal-modules import { useDocsSidebar } from '@docusaurus/theme-common/internal' -import { Typography, useTheme } from '@mui/material' +import { Container, Typography, useTheme } from '@mui/material' // eslint-disable-next-line import/no-named-as-default import clsx from 'clsx' import React from 'react' @@ -17,15 +17,17 @@ export default function DocPageLayoutMain({ hiddenSidebarContainer, children }) XYO Developer Documentation currently in Alpha Stage and is only for internal use.
-
- {children} -
+ +
+ {children} +
+
) }