Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

附录 C 配置模板

本附录收录书中项目会反复用到的配置模板。复制前请按目标网络、托管方式和权限边界替换占位符,不要把私钥、助记词、keystore 或 relayer 密钥提交到仓库。

Walrus CLI 检查模板

sui client active-env
sui client active-address
walrus --version
walrus info --context testnet

如果你同时使用 Testnet 和 Mainnet,命令中显式传入 --context

walrus store ./data/hello.txt --epochs 2 --context testnet
walrus read "$BLOB_ID" --out ./downloads/hello.txt --context testnet

Walrus Sites:ws-resources.json

ws-resources.json 放在要部署的静态目录根部。第一次 site-builder deploy 成功后,工具会把 object_id 写回这个文件,后续再运行同一条 deploy 命令就会更新已有站点。

{
  "object_id": "0xYOUR_SITE_OBJECT_ID_AFTER_FIRST_DEPLOY",
  "headers": {
    "/index.html": {
      "cache-control": "no-cache",
      "content-type": "text/html; charset=utf-8"
    },
    "/assets/app.3f1a2c.js": {
      "cache-control": "public, max-age=31536000, immutable"
    },
    "/assets/app.a91c04.css": {
      "cache-control": "public, max-age=31536000, immutable"
    }
  },
  "routes": {
    "/app/*": "/index.html"
  },
  "redirects": {
    "/old": {
      "location": "/",
      "status_code": 301
    }
  },
  "metadata": {
    "site_name": "Your Walrus Site",
    "description": "Static site served through Walrus Sites",
    "link": "https://YOUR_SUINS_NAME.wal.app"
  },
  "ignore": [
    ".DS_Store",
    "*.map"
  ]
}

部署命令:

site-builder --context=testnet deploy --epochs 5 ./dist
site-builder --context=testnet sitemap --id 0xYOUR_SITE_OBJECT_ID
site-builder convert 0xYOUR_SITE_OBJECT_ID

项目:去中心化文件网盘

WALRUS_PUBLISHER_URL=https://publisher.walrus-testnet.walrus.space
WALRUS_AGGREGATOR_URL=https://aggregator.walrus-testnet.walrus.space
WALRUS_EPOCHS=5
MAX_UPLOAD_BYTES=104857600

项目:MemWal Agent 记忆库

MEMWAL_PRIVATE_KEY=your-64-char-hex-delegate-private-key
MEMWAL_ACCOUNT_ID=0x...
MEMWAL_SERVER_URL=https://relayer.staging.memwal.ai
MEMWAL_NAMESPACE=lets-walrus-agent-dev

生产 mainnet 托管 relayer:

MEMWAL_SERVER_URL=https://relayer.memwal.ai
MEMWAL_NAMESPACE=lets-walrus-agent-prod

自托管 MemWal relayer 常用环境变量:

SUI_NETWORK=testnet
PORT=8000
SIDECAR_URL=http://localhost:9000
DATABASE_URL=postgres://memwal:memwal@localhost:5432/memwal
REDIS_URL=redis://localhost:6379
OPENAI_API_KEY=sk-...
OPENAI_API_BASE=https://api.openai.com/v1
MEMWAL_PACKAGE_ID=0xcf6ad755a1cdff7217865c796778fabe5aa399cb0cf2eba986f4b582047229c6
MEMWAL_REGISTRY_ID=0xe80f2feec1c139616a86c9f71210152e2a7ca552b20841f2e192f99f75864437
SERVER_SUI_PRIVATE_KEYS=suiprivkey1...,suiprivkey2...
SEAL_KEY_SERVERS=0x...
RATE_LIMIT_REQUESTS_PER_MINUTE=60
RATE_LIMIT_REQUESTS_PER_HOUR=500
RATE_LIMIT_DELEGATE_KEY_PER_MINUTE=30
RATE_LIMIT_STORAGE_BYTES=1073741824

配置边界:

  • MEMWAL_PRIVATE_KEY 是 delegate key,只给 Agent 使用,不等同于用户主钱包私钥。
  • namespace 按 owner + namespace 参与隔离,建议按应用、环境、租户或 Agent 拆分。
  • 托管 relayer 适合快速接入;自托管 relayer 适合需要控制 embedding、SEAL、Walrus 上传下载、日志和 SLA 的生产系统。
  • MemWal 当前处于 beta,生产使用前应先完成 delegate key 轮换、限流、审计日志和故障降级设计。

项目:Sui Stack Messaging

SUI_GRPC_URL=https://fullnode.testnet.sui.io:443
MESSAGING_RELAYER_URL=https://messaging-relayer.example.com
SEAL_KEY_SERVER_1=0x...
SEAL_KEY_SERVER_2=0x...
WALRUS_PUBLISHER_URL=https://publisher.walrus-testnet.walrus.space
WALRUS_AGGREGATOR_URL=https://aggregator.walrus-testnet.walrus.space
WALRUS_ATTACHMENT_EPOCHS=5

自托管 relayer 常用变量:

SUI_RPC_URL=https://fullnode.testnet.sui.io:443
GROUPS_PACKAGE_ID=0x...
PORT=3000
REQUEST_TTL_SECONDS=300
WALRUS_STORAGE_EPOCHS=5
WALRUS_SYNC_INTERVAL_SECS=3600
WALRUS_SYNC_BATCH_SIZE=100
WALRUS_SYNC_MESSAGE_THRESHOLD=50

Sui Stack Messaging 当前处于 beta。生产环境应自托管 relayer 或把 relayer 逻辑接入已有后端,并为 relayer storage、Walrus discovery indexer、Seal key server 和 key rotation 设计运维策略。