附录 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 设计运维策略。