区块链资产保护模拟演示系统 - 基于 Cloudflare Workers 的自动化资产转移保护机制
X-plan Demo 是一个区块链资产保护模拟演示系统,用于展示在钱包私钥被盗场景下,如何通过自动化 Worker 服务实现资产的抢先转移保护功能。
- ✅ 私钥被盗模拟:展示被保护钱包的公钥和私钥,供测试者模拟攻击
- ✅ 自动化保护:Worker 自动监控钱包余额,在检测到异常时抢先转移资产
- ✅ 应急状态控制:支持开启/关闭应急模式,调节扫描频率
- ✅ 实时监控:前端实时显示钱包余额、Worker 状态和操作日志
Cloudflare Workers(tactics-1)
- 统一调度器(
tactics-1):集成多种扩展功能的主 Worker- 应急状态扩展(
EmergencyWorkerExtension):高频扫描,检测到资产后触发转账 - 转账扩展(
TransferWorkerExtension):执行代币转账操作 - Aide扩展(
AideWorkerExtension):监控交易状态,处理重试和 Gas 补充 - 数据库扩展(
DatabaseExtension):与 Supabase 数据库交互 - RPC 连接池(
RpcPoolOptimizedExtension):优化的 RPC 调用管理 - Gas 补充(
GasExtension):为钱包补充 Gas 代币
- 应急状态扩展(
- Demo 站点(
frontend/DemoSite):功能演示网站,实现完整的反盗币策略演示
- AntiTheft 合约(
Smart/contracts/AntiTheft.sol):防盗币策略的核心智能合约 - 部署工具:Hardhat 开发环境
- 测试网络:Polygon Amoy Testnet (Chain ID: 80002)
- Supabase:用于存储钱包配置、交易记录等数据
本项目需要以下开发环境:
- Node.js >= 22 LTS(推荐 22.x)
- npm 或 yarn
- Wrangler CLI (Cloudflare Workers 开发工具)
- Hardhat(智能合约开发)
# 复制环境变量配置模板
cp .env.example .env编辑 .env 文件,填入必要的配置信息。
# 安装 Cloudflare Workers 依赖
cd cloudflare
npm install
# 安装前端依赖
cd ../frontend/DemoSite
npm install
# 安装智能合约依赖
cd ../../Smart
npm installcd cloudflare/tactics-1
# 配置 Supabase 连接
wrangler secret put SUPABASE_URL
wrangler secret put SUPABASE_KEY
# 配置钱包私钥(重要:私钥使用加密存储)
wrangler secret put WALLET_PRIVATE_KEY_<address>
wrangler secret put GAS_FUNDING_WALLET_PRIVATE_KEYcd cloudflare/tactics-1
npx wrangler deploycd Smart
npx hardhat run scripts/deploy.js --network amoycd frontend/DemoSite
npm run devxplandemo/
├── cloudflare/ # Cloudflare Workers 后端服务
│ ├── tactics-1/ # 主 Worker 项目
│ │ ├── src/ # Worker 源代码
│ │ ├── wrangler.toml # Worker 配置
│ │ └── package.json # 依赖配置
│ ├── extensions/ # 扩展函数
│ │ ├── aide-worker/ # Aide 扩展
│ │ ├── database/ # 数据库扩展
│ │ ├── emergency-worker/ # 应急状态扩展
│ │ ├── gas/ # Gas 补充
│ │ ├── rpc-pool-optimized/ # RPC 连接池
│ │ ├── scanner/ # 扫描器
│ │ ├── transfer/ # 转账扩展
│ │ └── transfer-worker/ # 转账 Worker
│ ├── package.json
│ └── README-bot-architecture.md
│
├── frontend/ # 前端项目
│ ├── DemoSite/ # 功能演示站点
│ │ ├── index.html # 主页面
│ │ ├── css/ # 样式文件
│ │ ├── js/ # JavaScript 文件
│ │ └── README.md # 前端说明
│ └── README.md
│
├── Smart/ # 智能合约(Hardhat)
│ ├── contracts/
│ │ ├── AntiTheft.sol # 防盗币合约
│ │ └── IERC20.sol # ERC20 接口
│ ├── scripts/
│ │ └── deploy.js # 部署脚本
│ ├── hardhat.config.js # Hardhat 配置
│ └── .env.example # 环境变量模板
│
├── ERC20/ # ERC20 代币合约相关
├── supabase/ # Supabase 数据库配置
│ └── *.sql # 数据库初始化脚本
├── server-configs/ # 服务器配置脚本
├── docs/ # 项目文档
├── .ide/ # IDE 配置
│ └── Dockerfile # 开发环境 Docker 镜像
├── .env.example # 环境变量配置模板
└── README.md
# 构建开发环境镜像
docker build -t xplandemo-dev .ide/
# 运行容器
docker run -it --rm \
-v $(pwd):/workspace \
-p 3000:3000 \
-p 5174:5174 \
xplandemo-devDocker 镜像包含:
- Node.js 22 LTS
- Wrangler CLI
- Hardhat
- Python 3.11 + web3 库
- 前端开发工具
- 仅供测试:本项目演示在测试网进行,切勿在主网使用真实资产
- 私钥安全:
- 私钥应存储在 Cloudflare Secrets 中,而非环境变量文件
- 前端私钥导入功能仅用于演示,实际生产环境严禁使用
- 环境变量:
.env文件包含敏感信息,切勿提交到版本控制系统 - 网络安全:生产环境部署时应启用所有安全配置,包括 CORS、速率限制等
欢迎提交 Issue 和 Pull Request!
在提交代码前,请确保:
- 代码通过 lint 检查
- 添加必要的测试
- 更新相关文档
MIT License
最后更新:2026-02-11