Skip to content

docs: sites introduction and troubleshooting docs for IA revision#3117

Draft
jon-mysten wants to merge 4 commits intoMystenLabs:mainfrom
jon-mysten:sites-index-introduction
Draft

docs: sites introduction and troubleshooting docs for IA revision#3117
jon-mysten wants to merge 4 commits intoMystenLabs:mainfrom
jon-mysten:sites-index-introduction

Conversation

@jon-mysten
Copy link
Contributor

Description

Describe the changes or additions included in this PR.

Test plan

How did you test the new or updated feature?


Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that
a user might notice and any actions they must take to implement updates. (Add release notes after the colon for each item)

  • Storage node:
  • Aggregator:
  • Publisher:
  • CLI:

@jon-mysten jon-mysten added the documentation Improvements or additions to documentation label Mar 12, 2026
@jon-mysten jon-mysten marked this pull request as draft March 13, 2026 14:58

## Resource files on Walrus

Your site's static assets (HTML, CSS, JavaScript, images, fonts, and so on) are stored as blobs on Walrus. When you deploy a site, the `site-builder` uploads your build directory to Walrus by encoding multiple files into a [single quilt](/docs/system-overview/quilt) to reduce upload cost and improve upload speed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not always a build directory, depends on the tool - should reword for more general workflows

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, there should be some initial verbiage that introduces quilt rather than just indicating that it reduces upload cost and improves speed - something like

"by encoding multiple files into a single storage entity called a quilt, a unique feature designed to reduce upload cost and improve upload speed."


Your site's static assets (HTML, CSS, JavaScript, images, fonts, and so on) are stored as blobs on Walrus. When you deploy a site, the `site-builder` uploads your build directory to Walrus by encoding multiple files into a [single quilt](/docs/system-overview/quilt) to reduce upload cost and improve upload speed.

Each file in the quilt is assigned a `QuiltPatchID`, which the Sui site object uses to locate and retrieve the file later. Because Walrus is a decentralized storage network, there is no single server that can take your content offline.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the latter portion should be moved to the section about the site object. in this section, its only relevant to know that each file is given a patchID

Each file in the quilt is assigned a `QuiltPatchID`, which the Sui site object uses to locate and retrieve the file later. Because Walrus is a decentralized storage network, there is no single server that can take your content offline.

:::info
Blobs are stored for a fixed number of epochs. On Mainnet, each epoch lasts 14 days. On Testnet, each epoch lasts 1 day. The maximum storage duration is 53 epochs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feels random - is there a better place for data permanence information?

Blobs are stored for a fixed number of epochs. On Mainnet, each epoch lasts 14 days. On Testnet, each epoch lasts 1 day. The maximum storage duration is 53 epochs.
:::

The trade-off of using quilts is that you cannot update a single file in isolation. If any file in your site changes, the entire quilt is re-uploaded on the next deploy.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't really matter to the user at this time - the site builder does this by default. i would remove this from this part

When a visitor navigates to a Walrus Site URL, the portal works through the following sequence:

- Additional fields.
1. **Identify the site.** The portal reads the subdomain of the request URL and resolves it to a Sui object ID. The subdomain is either a SuiNS name or a Base36-encoded object ID (see [Domain isolation](#domain-isolation) below).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

per style guide, no 'below'

- Additional fields.
1. **Identify the site.** The portal reads the subdomain of the request URL and resolves it to a Sui object ID. The subdomain is either a SuiNS name or a Base36-encoded object ID (see [Domain isolation](#domain-isolation) below).
2. **Look up the resource.** The portal fetches the site object's dynamic fields from Sui and finds the entry that matches the requested URL path. This entry contains the Walrus identifier for the resource and any custom response headers.
3. **Fetch the content.** The portal retrieves the resource bytes from a Walrus aggregator using that identifier. Because site resources are stored as quilt patches, only the requested patch is reconstructed — the full quilt is not downloaded.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

per style guide, no emdash

To do so, each Walrus Site is given a specific subdomain of the portal's domain. For example, the Flatland dApp is hosted at https://flatland.wal.app, where the subdomain `flatland` is uniquely associated to the object ID of the Walrus Site through SuiNS.

Walrus Sites also work without SuiNS. When a site is accessed through a self-hosted portal, or through a portal that supports Base36 domain resolution, a site can be browsed by using as subdomain the Base36 encoding of the Sui object ID of the site.
- **SuiNS name** — A human-readable name registered through [SuiNS](https://suins.io/) and pointed at the site's object ID, for example `flatland` in `https://flatland.wal.app`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrong format for defined lists, no hyphens

instructions on how to add a SuiNS name to it for convenient browsing.
Walrus Sites are decentralized websites built on [Sui](docs.sui.io) and Walrus. Your site's files are stored on Walrus, a decentralized storage network, while a Sui smart contract records ownership and maps each resource path to its content. Anyone can publish a Walrus Site using the [`site-builder` CLI tool](/docs/sites/getting-started/installing-the-site-builder) and browse it through a [portal](/docs/sites/portals/deploy-locally).

<Cards>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use

import DocCardList from '@theme/DocCardList';

<DocCardList />

instead

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah right i forgot you fixed the auto-genning stuff, ty !

@@ -1,6 +1,263 @@
---
title: Troubleshooting
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check with eng if there is anything else that should be added to this team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants