Web3区块链支付与Agent协作应用---GuguGuard挂机守护游戏

项目已上线GitHub: Kedao/gugu-guard

4月12日去杭州参加Monad Blitz(黑客松)6小时写出来的作品

当时我是对区块链支付一无所知的,但是在队友的帮助下,我半个小时便熟练掌握了区块链支付,并开始上手开发Agent项目

其实区块链支付、交易这些,它是基于web 3,它主要就是去中心化思想,数据不再保存在企业的服务器上,我们自己有一个私钥和地址,我们可以在对应的交易平台上看到所有地址的交易记录,交易是公开的,而转账的方式就是通过私钥去访问我们的地址,然后将货币转到另一个远程地址,这就是一条链,如果资金链有一条出现了问题,那么整个支付链都会有问题,这就是它的安全性。

然后我们开发的咕咕嘎嘎挂机守护项目是一个带安全限制的自动支付系统,让 AI Agent 可以自动付钱但只能在用户允许的范围内付钱。该项目是一个 monorepo,展示了在游戏中使用守卫支付的完整流程。

项目意义

解决 AI Agent 自动付款时的可信度和安全性问题

  • ❌ 传统方式:每笔交易需人工确认(破坏自动化)或直接给予支付权限(存在风险)
  • ✅ GuguGuard 方案:Agent 可自动付款,但必须同时满足 用户额度限制系统规则审核

技术架构

GuguGuard 采用三层架构设计:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌─────────────────────────────────────────────────────────────────┐
│ 游戏前端 (Game Demo) │
│ React 19 + Viem + LocalStorage │
│ │
│ • 钱包连接 & 签名 │
│ • SessionKey 生成与授权 │
│ • 自动挂机循环 (20s/轮) │
└────────────────┬────────────────────────────────┬────────────────┘
│ │
[REST API] [Blockchain]
│ │
┌─────────────────▼─────────────────┐ │
│ 策略后端 (Backend) │ ┌───────▼──────────────┐
│ FastAPI + Web3.py + eth-account │ │ 智能合约 (Contracts) │
│ │ │ Solidity + Foundry │
│ • Permit 签名生成 │ │ │
│ • 业务规则验证 │ │ • AgentWallet │
│ • EVM 签名 (ECDSA) │ │ • 余额管理 │
└────────────────┬────────────────────┘ │ • Session 授权 │
│ │ • 支付执行 │
└────────────────┬────────┘

┌───────────▼──────────────┐
│ AI Agent (如需) │
│ LangChain + OpenAI │
│ │
│ • 支付意图决策 │
│ • 后端 Permit 请求 │
│ • 链上交易执行 │
└──────────────────────────┘

核心流程

其实就是利用一个临时的sesSiOn key来签合约,这个合约它有指定的单笔限额和积累限额和有效期,这样Agent就不会直接访问我们的私药,保证了我们私钥的安全。这个合约的验签可以去Monad的官网去验签

1
2
3
4
5
6
7
8
9
10
11
① 用户充值                    → 向 AgentWallet 存入 MON

② 用户授权 SessionKey → 设置单笔/累计限额,有效期

③ Agent/前端发起支付 → 提交支付意图

④ 后端验证 & 签名 → 根据业务规则生成 Permit

⑤ 链上合约最终验证 → 检查额度、签名、Nonce

⑥ 支付执行 → 余额扣除,支付完成

![img

但是时间有限啊,最后没有完全开发完,体现出这个游戏真正的强大。等开发完善后,这就是一个完整的线上虚拟交易系统,可以以数字资产作为奖励来进行商业化

快速体验

记下我们的项目后,就直接运行下面的命令,记得替换你的Monad私钥和合约地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
cd agent

# 创建虚拟环境
python -m venv venv
source venv/Scripts/activate

# 安装依赖
pip install -e .

# 配置环境变量 (.env 文件)
cat > .env << EOF
LUMI_AGENT_MODEL_API_KEY=<your-openai-api-key>
LUMI_AGENT_MODEL_BASE_URL=https://api.openai.com/v1
LUMI_AGENT_MODEL_NAME=gpt-4

LUMI_AGENT_BACKEND_BASE_URL=http://127.0.0.1:8000

LUMI_AGENT_RPC_URL=<monad-testnet-rpc-url>
LUMI_AGENT_CHAIN_ID=10143
LUMI_AGENT_CONTRACT_ADDRESS=<deployed-contract-address>
LUMI_AGENT_PRIVATE_KEY=<your-agent-wallet-private-key>
EOF

# 文本游戏模式 (推荐)
python -m app.text_game --turns 5 --interactive

# 或指定支付场景
python -m app.main \
--scene preparation.buy_item \
--target 0x2222222222222222222222222222222222222222 \
--amount 1000000000000000 \
--deadline 1800000000

结果参考:

具体的更多去看GitHub里面的吧,记得点个star