Skip to content

Commit

Permalink
some intiial docs pages
Browse files Browse the repository at this point in the history
  • Loading branch information
rphmeier committed Dec 27, 2023
1 parent 1fd2c75 commit 7d87615
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 3 deletions.
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

0 comments on commit 7d87615

Please sign in to comment.