Dive into

Antonio Yang - yanganto@github

Sui Foundation - Developer Relations

 

with Sui

Sui

Agenda

Introduction

How to store?

Walrus nodes & tools

Introduction

Computation
Network

Storage

Blockchain

Blockchain cover everything !

Computation
Network

Storage

Blockchain

Application wants more ex: 1GB
But size matters for blockchain speed

Computation
Network

Storage

A layer for a problem

Computation
Network

Storage

Blob

unstructured data object
max 13.3 GB

Computation
Network

Storage

Smart Contract

Ownership
Blob Object ID ...

Blob hashes

Web 2 / 3

Computation
Network

Storage

Complete the infrastructure of Web3

NOTE! Walrus use RaptorQ, XOR based

Data Redundancy

Reed-Solomon Erasure Code

2D Encoding

Primary Sliver

Secondary Sliver

RaptorQ Erasure Encoded Blob
Shards: Primary Sliver + Secondary Sliver

1000 Shards now

Nodes have 1 or more shards

Data Redundancy

1/3 shards for read

2/3 shards for write

4.5 ~ 5 expanded on size

single-client store performance

150~200Mbps (actual encoded)

1000MiB file took ~296s

How to store?

Storage

https://github.com/MystenLabs/walrus-docs/blob/main/contracts/walrus/sources/system.move#L85-L93

Time & Space

Storage

public fun split_by_epoch( ... ): Storage
public fun split_by_size(...): Storage
public fun fuse_periods(...)

public fun fuse_amount(...)

Flexible to change Time & Space

Register Blob

Blob

Register Blob

Blob

Delete is possible!

Blob

Blob

public fun certify_blob(...)
public fun delete_blob(...): Storage
public fun extend_blob_with_resource(..)
public fun extend_blob(...)

Modified Time

Walrus Nodes - Aggregator

Read

Aggregator

Storage nodes

Read

Walrus Nodes- Aggregator

Walrus Client - Cli

Rest API

Walrus Client - Publisher

Walrus Client

walrus store <FILES> --epochs <EPOCHS>
walrus read <some blob ID>
walrus delete --blob-id <BLOB_ID>

Command Line

Walrus Client

walrus publisher

Daemons

PUT /v1/blobs?epochs=1
PUT /v1/blobs?deletable=true
walrus aggregator
GET /v1/blobs/<some blob ID>

Walrus Client

site-builder publish <root> --epochs <epoch>

Site Builder

https://github.com/MystenLabs/walrus-sites/tree/main/site-builder

Execution completed
Resource operations performed:
  - created resource /Oi-Regular.ttf with blob ID ...
Created new site: test site
New site object ID: 0x407a...b73a
Browse the resulting site at: https://1lup...4piy.walrus.site

Q&A

Thank you

Epoch duration
Testnet is 2 days

Mainnet is multiple weeks long

Maximum epochs is 183

 (corresponding to 1 year)

Maximum epoch in contract is 1000

Computation
Network

Storage

we are targeting 0.50 USD (50 cents) per GiB per year.

Web 2 / 3

Dive Into Walrus with Sui

By Antonio Yang

Dive Into Walrus with Sui

The slides are present in 2025 Sui Hacker House ShenZhen(2/21), Taipei(3/7), Typus Finance(3/11)

  • 66