Skip to content

Commit

Permalink
Add docs, correct URL
Browse files Browse the repository at this point in the history
  • Loading branch information
kayabaNerve committed Mar 12, 2024
1 parent d1be9ea commit 442d8c0
Show file tree
Hide file tree
Showing 20 changed files with 94 additions and 28 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Bitcoin, Ethereum, DAI, and Monero, offering a liquidity-pool-based trading
experience. Funds are stored in an economically secured threshold-multisig
wallet.

[Getting Started](docs/Getting%20Started.md)
[Getting Started](spec/Getting%20Started.md)

### Layout

Expand Down
5 changes: 0 additions & 5 deletions docs/2_amm.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/5_1_message_queue.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/5_2_processor.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/5_3_coordinator.md

This file was deleted.

3 changes: 1 addition & 2 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@ title: Serai Documentation
description: Documentation for the Serai protocol.
theme: just-the-docs

url: https://serai.exchange/docs
baseurl: /docs
url: https://docs.serai.exchange
17 changes: 17 additions & 0 deletions docs/amm/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Automatic Market Makers
layout: default
nav_order: 2
---

*text on how AMMs work*

Serai uses a symmetric liquidity pool with the `xy=k` formula.

Concentrated liquidity would presumably offer less slippage on swaps, and there are
[discussions to evolve to a concentrated liquidity/order book environment](https://github.com/serai-dex/serai/issues/420).
Unfortunately, it effectively requires active management of provided liquidity.
This disenfranchises small liquidity providers who may not have the knowledge
and resources necessary to perform such management. Since Serai is expected to
have a community-bootstrapped start, starting with concentrated liquidity would
accordingly be contradictory.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 5 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@ layout: home
nav_order: 1
---

Documentation for Serai.
Serai is a cross-chain decentralized exchange, integrating Bitcoin, Ethereum,
and Monero.

This documentation site is still under active development and may have missing
sections, errors, and typos.
19 changes: 19 additions & 0 deletions docs/infrastructure/coordinator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Coordinator
layout: default
nav_order: 3
parent: Infrastructure
---

The coordinator is a local service which communicates with other validators'
coordinators. It provides a verifiable broadcast layer for various consensus
messages, such as agreement on external blockchains, key generation and signing
protocols, and the latest Serai block.

The verifiable broadcast layer is implemented via a blockchain, referred to as a
Tributary, which is agreed upon using Tendermint consensus. This consensus is
not as offered by Tendermint Core/CometBFT, as used in the Cosmos SDK
(historically/presently), yet by our own implementation designed to be used as a
library and not as another daemon. Tributaries are ephemeral, only used by the
current validators, and deleted upon the next epoch. All of the results from it
are verifiable via the external network and the Serai blockchain alone.
File renamed without changes.
25 changes: 25 additions & 0 deletions docs/infrastructure/message_queue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Message Queue
layout: default
nav_order: 1
parent: Infrastructure
---

The Message Queue is a microservice to authenticate and relay messages between
services. It offers just three functions:

1) Queue a message.
2) Receive the next message.
3) Acknowledge a message, removing it from the queue.

This ensures messages are delivered between services, with their order
preserved. This also ensures that if a service reboots while handling a message,
it'll still handle the message once rebooted (and the message will not be lost).

The Message Queue also aims to offer increased liveliness and performance.
If services directly communicated, the rate at which one service could operate
would always be bottlenecked by the service it communicates with. If the
receiving service ever went offline, the sending service wouldn't be able to
deliver messages until the receiver came back online, halting its own work. By
defining a dedicated microservice, with a lack of complex logic, it's much less
likely to go offline or suffer from degraded performance.
19 changes: 19 additions & 0 deletions docs/infrastructure/processor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Processor
layout: default
nav_order: 2
parent: Infrastructure
---

The processor performs several important tasks with regards to the external
network. Each of them are documented in the following sections.

# Key Generation

# Scanning

# Signing Batches

# Planning Transactions

# Cosigning
File renamed without changes.
6 changes: 6 additions & 0 deletions docs/integrating/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Integrating with Serai
layout: default
nav_order: 6
has_children: true
---
2 changes: 1 addition & 1 deletion docs/6_0_validator.md → docs/validator/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Running a Validator
layout: default
nav_order: 6
nav_order: 7
has_children: true
---

0 comments on commit 442d8c0

Please sign in to comment.