加载价格数据中...
Eco Project

WAO:为 AO 开发者而生的浏览器操作系统

2025-11-05
WAO:为 AO 开发者而生的浏览器操作系统

WAO 是什么?

WAO,全称 Wizard AO SDK & Testing,是一款为 Arweave 的计算层 AO 打造的开发工具集。它不只是一个 SDK,而是一套 嵌入浏览器的完整操作系统。如果说 AO 让 Arweave 拥有了智能计算能力,那么 WAO 就是这台计算机的「桌面系统」。它把开发、调试、测试、部署 AO 应用的全过程,全部搬进了浏览器。
WAO 的独特之处在于,它让开发者即便从未接触过复杂的区块链部署,也能在数秒内完成诸如以下操作:
  1. 启动一个 AO 本地网络;
  1. 创建并运行 Lua 进程;
  1. 模拟消息传递;
  1. 查看日志与状态变化;
  1. 最终一键部署到 AO 测试网或主网。
换句话说,WAO 让区块链开发具备了前端体验。不需要 RPC,不需要区块确认,不需要 Gas,只需要打开网页,就能在几毫秒内测试一段智能进程逻辑。
notion image

WAO 为开发者带来的优势

WAO 的核心亮点可以用三个词概括:轻量、高速、完整
功能
传统 AO 开发
使用 WAO
环境搭建
需安装 ao-localnet、配置 Arweave 钱包
浏览器自动启动本地 Proxy
消息执行速度
数秒到数百毫秒
平均 2~3 毫秒(1000x 提升)
状态保存
无持久化机制
内置 WeaveDrive(本地存储)
调试体验
需查看日志文件
浏览器实时显示
部署
手动签名 + 上传
一键命令行 npx wao deploy
WAO 的 WASM 模拟机制(Forked WASM Memory)能在浏览器中虚拟出 AO 的执行环境。当你运行 yarn test 时,Lua 进程并不是被真正发送到区块链,而是在内存中被克隆执行,这种 Dryrun 模式 比主网快上千倍。

WAO 的整体内容与功能概览

WAO 并不是一个单一工具,而是一个完整的生态组件集合。它包含以下模块:
模块
功能说明
Tutorials
官方教程,从安装到 HyperBeam 连接的全流程文档
API Reference
详细的 SDK API 文档(spawn、send、receive、query、deploy 等)
Blueprints
可直接运行的合约模板库(Token、Voting、Chat、Staking 等)
Local Server
模拟 AO 网络的本地节点系统
WeaveDrive
本地持久化系统,自动保存与回放进程状态
HyperBeam
连接主网的通信桥梁,实现链上部署
AOS Dryrun
浏览器端 AO 虚拟机,用于极高速测试与调试
这些组件组合在一起,使 WAO 成为一个完整的 AO OS,开发者只需执行三行命令,就能完成一个链上进程的从创建到部署的完整生命周期:
npx wao create myapp npx wao proxy yarn test test/test.js

Blueprints:AO 开发的黄金样板

Blueprints 是 WAO 的核心知识库,它提供了一系列可直接部署的 Lua 模块。这些模块不仅是学习示例,更是生态标准的参考实现。其中包括:
  • apm.lua — AO Package Manager 让 AO 支持包管理与依赖加载。
  • chat.lua / chatroom.lua — 聊天与广播机制示例。
  • token.lua / staking.lua — 可转让代币与质押逻辑。
  • voting.lua — DAO 提案与投票系统。
  • arns.lua — AO 的命名系统(类似 ENS)。
  • patch-legacy-reply.lua — 兼容旧版本 AO 消息格式。
这些蓝图可以直接导入使用:
require("token") require("staking")
或者通过命令行安装:
npx wao install token

实战案例:用 WAO 构建一个「验证码工具(AO Device)」

下面我们来试着用 WAO 实现一个简单但实用的 Device,当用户发送消息 { Action = "GenerateCode" } 时,返回一个 6 位随机验证码。

新建项目

npx wao create verifycode cd verifycode

编写进程脚本 src/verify.lua

math.randomseed(os.time()) local code = "" Handlers.add("generate", Handlers.utils.hasMatchingTag("Action", "GenerateCode"), function(msg) code = tostring(math.random(100000, 999999)) print("Generated code:", code) msg.reply({ Code = code }) end) Handlers.add("check", Handlers.utils.hasMatchingTag("Action", "CheckCode"), function(msg) local input = msg.Data.Input local valid = (input == code) msg.reply({ Valid = valid }) end)

测试代码 test/test.js

import { test, expect, spawn } from "wao"; test("should generate and verify code", async () => { const verify = await spawn("src/verify.lua"); const res1 = await verify.send({ Action: "GenerateCode" }); console.log("Generated:", res1.data.Code); const res2 = await verify.send({ Action: "CheckCode", Data: { Input: res1.data.Code } }); expect(res2.data.Valid).toBe(true); });

运行测试

yarn test
日志输出:
Generated code: 824013 ✔ should generate and verify code
整个过程不需要连接区块链,也无需钱包签名。如果想上链,只需终端运行以下指令,即可把该「验证码 Device」部署到 AO 网络。
npx wao deploy src/verify.lua --wallet wallet.json

WAO 的产品愿景

WAO 的目标远不止是一个开发工具,它可以让任何浏览器都能成为 AO 的一部分。想象一下,未来的 AO 设备、插件、网站、小游戏,都可以通过 WAO 的 SDK 直接连接 AO 网络,实时调用去中心化的计算与存储资源。
WAO 通过三个核心理念实现这一愿景,浏览器即节点,让前端直接运行 AO 进程,告别部署壁垒;模块即生态,Blueprint 不是样例,而是模块化生态组件;测试即开发,本地 Dryrun = 主网预演,任何脚本都能即时验证。
如果说 AO 是一台分布式超级计算机,那么 WAO 就是它的图形界面(GUI)。它让开发者第一次在浏览器中完成智能合约的全生命周期,让链上逻辑的开发速度与前端开发几乎无差别。今天,你可以用 WAO 开发一个聊天工具、一个投票系统、一个小游戏。明天,你也能用它创建属于自己的 AO Device、DAO 工具或 AI Agent。
 
无论你是研究者、创作者,还是正在探索 Web3 新边界的开发者,WAO 都值得你打开浏览器试一试。