Skip to content

xplan2026/xplandemo

Repository files navigation

X-plan Demo

区块链资产保护模拟演示系统 - 基于 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 install

配置 Cloudflare Secrets

cd 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_KEY

部署 Worker

cd cloudflare/tactics-1
npx wrangler deploy

部署智能合约(可选)

cd Smart
npx hardhat run scripts/deploy.js --network amoy

启动前端

cd frontend/DemoSite
npm run dev

访问:http://localhost:5174


📁 项目结构

xplandemo/
├── 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 构建(推荐)

# 构建开发环境镜像
docker build -t xplandemo-dev .ide/

# 运行容器
docker run -it --rm \
  -v $(pwd):/workspace \
  -p 3000:3000 \
  -p 5174:5174 \
  xplandemo-dev

Docker 镜像包含:

  • Node.js 22 LTS
  • Wrangler CLI
  • Hardhat
  • Python 3.11 + web3 库
  • 前端开发工具

🔐 安全须知

⚠️ 重要提示

  1. 仅供测试:本项目演示在测试网进行,切勿在主网使用真实资产
  2. 私钥安全
    • 私钥应存储在 Cloudflare Secrets 中,而非环境变量文件
    • 前端私钥导入功能仅用于演示,实际生产环境严禁使用
  3. 环境变量.env 文件包含敏感信息,切勿提交到版本控制系统
  4. 网络安全:生产环境部署时应启用所有安全配置,包括 CORS、速率限制等

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

在提交代码前,请确保:

  1. 代码通过 lint 检查
  2. 添加必要的测试
  3. 更新相关文档

📄 许可证

MIT License


最后更新:2026-02-11

About

Demo for X-plan project Build on Polygon Amoy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors