1 of 6

Versioned Walrus

Wenliangliu

2024.10.20

2 of 6

Walrus

Store

Fetch

BlobID

Data

BlobID

Client

Versioned Walrus

Version

diff_blob_id[1]: BlobID

initial_blob: BlobID

previous_versions: list[Version]

Data

Base version

UI

Data

Base version

Metadata

[1] Like github, version only stores the data diff

3 of 6

Use case and demo: Contract Management

  1. Use as storage
    1. Upload contract on Walrus
    2. Upload different versions of a same contract
      1. If file exists, skip.
      2. Otherwise create new one.
      3. Track the previous versions
  2. Use as signature
    • Sign a version:
      • Create a new signature file: [addr] has signed [BlobID]

4 of 6

Storage

5 of 6

AI Searching

Prompt

AI Client

Metadata

Walrus

6 of 6

Use scenario 2: Online editor

Online Editor

Version

diff_blob_id: BlobID

initial_blob: BlobID

previous_versions: list[Version]

Version

diff_blob_id: BlobID

initial_blob: BlobID

previous_versions: list[Version]

Version

diff_blob_id: BlobID

initial_blob: BlobID

previous_versions: list[Version]

1 min interval

1 min interval