Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

some initial docs pages #146

Merged
merged 1 commit into from
Dec 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion docs-site/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,26 @@
sidebar_position: 1
---

# Intentionally Blank
# Getting Started

## Blobs

The Blobs project exposes the **data availability** capabilities of [Polkadot](https://polkadot.network) and [Kusama](https://kusama.network) for general use. Use-cases include rollups and inscriptions.

The Blobs codebase is located at https://github.com/thrumdev/blobs. There is a live parachain on Kusama with Parachain ID 3338 running the Blobs runtime.

Blobs enables users to submit arbitrary data to the chain and receive guarantees about the availability of that data. Namely:
1. The data can be fetched from the Polkadot/Kusama validator set for up to 24 hours after submission and cannot be withheld.
2. A commitment to the data's availability is stored within the blobchain and used as a proof of guarantee (1) to computer programs, such as smart contracts or Zero-Knowledge circuits.

Data Availability is a key component of Layer-2 scaling approaches, and is already part of Polkadot and Kusama for use in securing Parachains. Blobs will bring this capability out to much broader markets.

Blobs makes a **relay-chain token utility commitment** now and forever. Submitting blobs will always make use of the DOT token on Polkadot and the KSM token on Kusama, as this is the approach with the least user friction.

## Integrations

Blobs supports a variety of rollup SDKs out of the box.
- [x] Rollkit
- [x] Sovereign SDK
- [ ] OP Stack
- [ ] Polygon ZK-EVM
67 changes: 67 additions & 0 deletions docs-site/docs/node-operators/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
sidebar_position: 2
title: Node Operators
---

## Releases

At the moment, there are no downloadable binary releases available of the Blobs node. We recommend building a binary from source.

## Node Architecture

Blobs is a standard Polkadot-SDK parachain node, which means that it actually runs two nodes:
1. A node for the Parachain (Blobs) on Polkadot or Kusama
2. A node for the Relay Chain, Polkadot or Kusama.

You can pass arguments to each one of these underlying nodes with the following approach:

```sh
./sugondat-node --arg-for-blobs --arg2-for-blobs -- --arg-for-relay --arg2-for-relay
```

## Blobs and Storage Usage

Blobs can potentially use enormous amounts of disk space under heavy usage. This is because all historical blobs are stored within the blobchain's history. While the Polkadot and Kusama expunge ancient blobs after 24 hours, any full node of the blobchain will have all the blobs going back to the genesis, as well as all of the other block data.

To avoid this issue, run with `--blocks-pruning <number>`, where `number` is some relatively small value such as `1000` to avoid keeping all historical blobs.

However, there is still a need for archival nodes. The main reason is that many rollup SDKs do not have any form of p2p and their nodes synchronize by downloading ancient blobs from the data availability layer's p2p network. Without someone keeping all ancient blocks, those SDKs
would unfortunately stop working.

## Hardware Requirements

For full nodes, we currently recommend:
- 4 vCPUs
- 8GB RAM
- 512G Free Disk Space (1TB preferred)
- Stable and fast internet connection. For collators, we recommend 500mbps.

The disk space requirements can be reduced by
1. Running with `--blocks-pruning` on both

## Building From Source

Building from source requires some familiarity with the terminal and your system's package manager.

First, ensure you have an up-to-date Rust installation. If not, visit https://rustup.rs .

Building from source requires a few packages to be installed on your system. On Debian or Ubuntu, these are:

```sh
apt install libssl-dev protobuf-compiler cmake make pkg-config llvm clang
```

On other linux distros or Mac, use your package manager's equivalents.


Building the node:
```bash
git clone https://github.com/thrumdev/blobs
cd blobs
cargo build --release -p sugondat-node
```

Running the node:
```bash
target/release/sugondat-node --chain sugondat-kusama
```
2 changes: 1 addition & 1 deletion docs-site/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ const config = {
style: 'dark',
links: [
{
title: 'Docs',
title: 'Learn',
items: [
{
label: 'Documentation',
Expand Down
2 changes: 1 addition & 1 deletion docs-site/src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function HomepageHeader() {
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Enter
Get Started
</Link>
</div>
</div>
Expand Down