mcpField
W
walrus-storage-costs

walrus-storage-costs

github.com/mystenlabsクラウド・DevOps343 回インストール1 週間前に更新
リポジトリ

walrus-storage-costs について

walrus-storage-costsは、Walrusユーザー向けの費用解説スキルです。WALのストレージ料金、SUIのガス代、エポック単位の価格、小さなファイルのメタデータ負担を説明します。費用の見積もり方法と予算計画のための最適化策を紹介します。

主な機能

  1. 01WALとSUIの費用構成の説明
  2. 02エンコード後サイズとblobごとのメタデータ負担
  3. 03保存期間に応じた費用見積もり
  4. 04dry-runと価格情報の確認方法
  5. 05quiltなどの費用最適化策

活用シーン

  1. 01アップロード前のストレージ費用の見積もり
  2. 02WALとSUIの予算計画
  3. 03個別保存とquiltでの一括保存の費用比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mystenlabs/walrus-skills --skill walrus-storage-costs

インストール後、Claude Code で/walrus-storage-costsを入力して読み込まれたか確認します。

同梱ファイルevals/evals.json

詳細

Walrus ストレージコスト

情報源の制約: このスキルの情報はすべて、 Walrus のストレージコストに関するドキュメント と Walrus のコスト計算ツールを情報源としています。 このスキルを拡張する場合は、これらの情報源のみを参照してください。

ストレージ料金は、Walrus について最もよく尋ねられる質問です。コストモデルには 2 種類のトークン(WAL と SUI)、小さなファイルではコストの大部分を占める blob ごとのメタデータのオーバーヘッド、エポック単位の保存期間に応じた料金が含まれます。このスキルでは、コストの仕組みと見積もり方法を説明します。

このスキルのパターンはすべて、次の情報源に基づいています。

現在の料金が不明な場合は、walrus info を実行するか、コスト計算ツールを確認してください。


関連スキル

トピックスキル読み込むタイミング
blob の保存walrus-cliCLI の保存コマンド
HTTP APIwalrus-http-apiREST 経由での保存
TypeScript SDKwalrus-ts-sdkプログラムによるコスト見積もり
Quiltswalrus-quilts多数の小さな blob のコスト最適化
blob のライフサイクルwalrus-blob-lifecycleストレージ期間の延長、削除による回収
概要walrus-overviewWalrus のアーキテクチャ全般

スキルの内容

2 種類のトークンによるコストモデル

blob の保存操作には、次の 2 つのコスト要素があります。

トークン支払いの対象課金のタイミング
WALWalrus ストレージ:エンコードされた blob 用のストレージノード上の領域の確保保存および延長の操作ごと
SUISui ブロックチェーンのガス代:オンチェーンでの blob オブジェクトの登録、証明、管理トランザクションごと(保存 1 回につき最大 3 件)

blob を保存するには、ウォレットに WAL と SUI の両方が必要です。テストネットでは、sui client faucet から SUI を、Walrus テストネットのファウセットから WAL を入手してください。

WAL コストの内訳

blob の保存にかかる WAL コストは、次の 2 つで構成されます。

  1. ストレージコスト = encoded_size × price_per_unit × epochs

    • encoded_size = 消失訂正符号化後の blob の生サイズ(約 4.5 倍)に、blob ごとの固定メタデータ約 64 MB を加えたサイズ
    • price_per_unit = エポックごとのエンコード済みストレージ単位あたりの料金(walrus info で確認してください)
    • epochs = ストレージを確保するエポック数
  2. 書き込み手数料 = アップロードごとに一度だけ発生する定額料金。blob のサイズやエポック数には依存しません

現在の値を確認するには、walrus info を実行してください。

walrus info
# Shows: price per encoded storage unit, write fee, current epoch, epoch duration
blob ごとのメタデータのオーバーヘッド

blob の実際のサイズにかかわらず、blob ごとに約 64 MB のメタデータのオーバーヘッドが発生します。このメタデータはエンコード済みストレージの一部であり、コスト計算に含まれます。

blob のサイズエンコード後のサイズ(概算)コストに占めるメタデータの割合
1 KB~64 MB~99.99%
1 MB~68.5 MB~93%
10 MB~109 MB~59%
100 MB~514 MB~12%
1 GB~4.6 GB~1.4%

そのため、小さな blob は個別に保存すると割高になります。 1 KB の JSON ドキュメントは、64 MB のファイルとほぼ同じコストがかかります。小さなファイルが多数ある場合は、quilts を使って 1 つのストレージ単位にまとめると、すべてのファイルにわたってメタデータのオーバーヘッドを分散できます。

SUI のガス代

各保存操作では、最大 3 件の Sui オンチェーントランザクションが発生します。

  1. reserve_space — ストレージリソースを取得します
  2. blob を登録します
  3. blob を証明します(可用性証明書を送信します)

各トランザクションには SUI のガス代がかかります。また、blob の Sui オブジェクトは SUI を Sui ストレージファンドに預け入れます。この預け入れ額の大部分は、blob オブジェクトを削除すると(walrus delete または walrus burn-blobs を使用して)返金されます。

エポックの期間
ネットワークエポックの期間
Mainnet14 日
Testnet変動(Mainnet より短い)

ストレージ期間の上限は 53 エポックです(Mainnet で約 2 年)。エポック数を月数に換算するには、months = epochs × 14 / 30 を使用します(Mainnet)。ストレージ予算を計画する際は、エポック数ではなく、必ず月数で計算してください。

コストの見積もり
コスト計算ツール(ウェブ)

インタラクティブに見積もるには、Walrus Cost Calculator を使用してください。ファイルサイズと期間を入力すると、WAL のコストを確認できます。

手動で計算する

ドキュメントでは、USD で 2 段階の見積もりを行っています(ストレージ料金は固定の USD レートで設定され、WAL で支払うため、必要な WAL の量は WAL の価格に応じて変わります)。

encoded_size_GB  = 4.5 * original_size_GB + 0.064
monthly_cost_USD = encoded_size_GB * 0.023

10 KiB のファイルを 600 個、それぞれ個別に保存する場合、各ファイルで約 0.064 GB のオーバーヘッドが発生し、合計で 38.4 GB となります。6 MB のデータに対して月額約 0.88 ドルです。1 つの quilt として保存すると、4.5 × 0.006 + 0.064 ≈ 0.09 GB となり、月額約 0.002 ドルです。ドキュメントに記録された実測比較では、このケースで 409 倍、ファイルあたり 1 MiB の場合で 13 倍の節約が確認されています。ファイルあたり約 1 MiB を超えると、ストレージの節約効果は急速に小さくなります。

CLI のドライラン#### CLI のドライラン
# Estimate cost without actually uploading
walrus store --dry-run myfile.dat --epochs 10

トランザクションを送信したりトークンを消費したりせずに、エンコード後のサイズと推定コストを返します。

CLI の情報
# Show current pricing parameters
walrus info --json

エンコード後のストレージ単位あたりの価格、書き込み手数料、現在のエポック、先行できるエポックの最大数を返します。

TypeScript SDK

WalrusClient は storageCost メソッドを公開しています。使用する前に、TypeDocs でシグネチャを確認してください。

コストを最適化する戦略
戦略節約額使用するタイミング
小さなファイルには quilt を使用する多数の小さな blob で最大 99%1 ファイルあたり <10 MB のファイルを多数保存する場合
ストレージリソースを再利用する新しいストレージの購入を回避ウォレットに適切なリソースがある場合、CLI が自動的に実行します
期限切れの blob オブジェクトを削除するSUI ストレージファンドへの預け入れを回収blob の期限が切れた後、walrus burn-blobs --all-expired でバーンします
再アップロードではなく期間を延長する書き込み手数料とエンコードコストを回避blob をより長く保持する必要がある場合
変動する書き込み向けにストレージプールを使用する(プレビュー)保存のたびに書き込み手数料のみを支払いますRust SDK / Move のみ。安定した使用量で書き込みと削除を継続し、有効期限を共有する場合
必要な場合にのみ永続 blob を使用する削除可能な blob ならストレージを回収できますデフォルトは削除可能で、ストレージリソースを回収できます
ルール
  1. 大量にアップロードする前に、必ず walrus info を確認してください。 価格はエポック間で変わる場合があります。
  2. 小さなファイルをまとめて保存する場合は quilt を使用してください。 blob ごとに 64 MB のオーバーヘッドがあるため、小さな blob を個別に保存するのは非常に非効率です。
  3. WAL と SUI の両方を予算に含めてください。 WAL はストレージ料金の支払いに、SUI はガス代の支払いに使います。どちらかが不足すると操作できなくなります。
  4. エポック数ではなく月単位で見積もってください。 エポックの期間は変わることがあります。現在の期間は walrus info で確認してください。
  5. burn-blobs --all-expired で SUI を回収してください。 期限切れの blob オブジェクトにも、ストレージファンドの SUI が残っています。バーンすると、預け入れた SUI を回収できます。
  6. 本番環境にアップロードする前に --dry-run を実行してください。 トークンを使う前にコストを確認してください。特に大規模なデータセットでは必ず確認してください。
よくある間違い
  • 小さな JSON blob の料金が 64 MB のファイルと同じくらいになる理由が分からない。 小さな blob では、約 64 MB の blob ごとのメタデータオーバーヘッドが支配的になります。代わりに quilt を使用してください。
  • 書き込み手数料を忘れる。 サイズやエポック数に関係なく、アップロードのたびに書き込み手数料がかかります。単位あたりのストレージコストとは別料金です。
  • WAL と SUI のコストを混同する。 WAL は Walrus ノード上のストレージ用です。SUI は Sui トランザクションのガス代用です。用途の異なる別々のトークンです。
  • イレイジャーコーディングのオーバーヘッドを考慮しない。 エンコード後のサイズは、元の blob のサイズの約 4.5 倍に固定のメタデータを加えたものです。コストは元のサイズではなく、エンコード後のサイズに基づきます。
  • ストレージが無期限だと思い込む。 最大 53 エポック(約 2 年)です。データをそれ以上保持する必要がある場合は、walrus extend による延長を計画してください。
  • コスト見積もりに --dry-run を使わない。 このフラグを使うと、トークンを消費せずにコストを確認できます。大量にアップロードする前には必ず使用してください。
  • 同じコンテンツを二重に保存するために支払う。 同一のコンテンツで、十分な有効期間を持つ永続 blob がすでに存在する場合、CLI は再アップロードを自動的にスキップし(alreadyCertified を返します)。これは想定された動作で、コストの節約になります。

コメント