Harmain11/Cross-Chain-Hub

GitHub: Harmain11/Cross-Chain-Hub

该平台是一个由 AI 驱动的跨链智能合约生成、安全审计与部署工具,支持用自然语言快速生成 EVM 和 Solana 合约代码。

Stars: 1 | Forks: 0

AURA Forge

**用纯英文描述智能合约。几分钟内即可获得可用于生产环境、经过审计且可部署的代码。**
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![React](https://img.shields.io/badge/React-20232A?style=flat-square&logo=react&logoColor=61DAFB)](https://reactjs.org/) [![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=flat-square&logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![Powered by Claude](https://img.shields.io/badge/Powered_by-Claude_AI-CC785C?style=flat-square)](https://anthropic.com) [![EVM](https://img.shields.io/badge/EVM-Ethereum_%7C_Base_%7C_Arbitrum_%7C_Optimism_%7C_Polygon-627EEA?style=flat-square)](https://ethereum.org) [![Solana](https://img.shields.io/badge/Solana-Devnet-9945FF?style=flat-square&logo=solana&logoColor=white)](https://solana.com)
## 什么是 AURA Forge? AURA Forge 是一个由 AI 驱动的智能合约开发平台,带你从纯英文描述直接生成经过编译、安全审计并部署的智能合约 —— 全程无需离开浏览器。 它支持两个生态系统: - **EVM** —— 使用 `solc` 编译真实的 Solidity 源码,并带有自我修复的 LLM 重试循环,能自动修复编译器错误并将其反馈给模型。可部署到 Ethereum、Base、Arbitrum、Optimism 和 Polygon。 - **Solana** —— 真实的 Anchor/Rust 源码和完整的 IDL,由 Claude 生成,随时可放入本地 Anchor 工作区进行链上部署。 安全加固引擎会对每个生成的合约运行专门的审计 LLM 流程,对其进行 0-100 分的打分,并不断迭代,直到达到可配置的阈值 —— 或者在需要更多信息以进一步提升时,请求你提供更多业务上下文。 ## 功能概览 | 功能 | 描述 | |---|---| | **AI 生成** | 通过 Claude 将 Prompt 转换为 Solidity 或 Anchor/Rust 源代码 | | **真实编译** | `solc` 编译 EVM 合约;错误会反馈给 LLM(最多进行 3 次自我修复重试) | | **安全加固** | 专门的审计 LLM 流程,0-100 分打分,迭代改进 | | **实时进度控制台** | UI 中通过 SSE 流式传输的构建日志 —— 每个阶段实时可见 | | **一键部署** | 浏览器钱包 (MetaMask/viem) 支持 EVM 测试网和主网 | | **Solana 开发网广播** | 使用 Phantom 钱包进行 Solana 开发网的验证广播 | | **代码编辑器** | 基于 Monaco 的编辑器 —— 生成后完全可编辑;编辑内容会持久化到项目中,并使过期的分析失效 | | **Gas 分析** | 基于 solc 的每个函数的 Gas 估算 (EVM);针对 Solana 的 LLM 生成注释 | | **源码验证** | EVM 部署后自动进行 Etherscan/Blockscout 源码验证 | | **部署后监控** | 针对已部署合约活动的 Webhook 和电子邮件提醒 | | **版本历史** | 包含内联差异查看器的每次加固流程的完整谱系 | | **团队工作区** | 多用户团队,邀请流程,基于角色的项目访问权限 | | **API 密钥** | 用于 CI/CD 集成的编程式访问 | | **模板** | 入门模板:ERC-20、NFT、DAO、Vesting、Multisig 等 | | **项目导出** | 将完整项目下载为 ZIP,以便进行本地 Foundry/Anchor 开发 | | **可升级合约** | EVM 合约的可选 UUPS 代理模式 | ## 支持的网络 ### EVM | 网络 | 类型 | |---|---| | Ethereum 主网 | 主网 | | Ethereum Sepolia | 测试网 | | Base 主网 | 主网 | | Base Sepolia | 测试网 | | Arbitrum Sepolia | 测试网 | | Optimism Sepolia | 测试网 | | Polygon Amoy | 测试网 | ### Solana | 网络 | 类型 | |---|---| | Solana Devnet | 测试网 (devnet 广播) | ## 架构 ``` workspace/ ├── artifacts/ │ ├── aura-forge/ # React + Vite SPA (Monaco editor, wallet connect, dashboard) │ └── api-server/ # Express 5 REST API (forge pipeline, auth, teams, monitoring) │ └── lib/ ├── api-spec/ # OpenAPI spec (openapi.yaml) + Orval codegen config ├── api-client-react/ # Generated React Query hooks (auto-generated from spec) ├── api-zod/ # Generated Zod schemas (auto-generated from spec) ├── db/ # Drizzle ORM schema + migration config └── integrations-anthropic-ai/ # Anthropic Claude wrapper (Replit AI Integrations proxy) ``` ### Forge 流水线 (`api-server/src/lib/forge/`) ``` User prompt │ ▼ LLM generates source (Claude) │ ├─[EVM]──► solc compile ──► errors? ──► LLM self-heal (≤3 retries) ──► success │ └─[Solana]──► IDL extraction ──► validation │ ▼ Auditor LLM ──► security score (0-100) ──► below target? │ │ │ ◄──── LLM hardens │ ▼ Gas estimates + notes ──► ready to deploy ``` 当审计器确定额外的业务逻辑信息可以提高分数时,加固循环可以暂停并向用户提出针对性的上下文问题。 ## 技术栈 ### 前端 (`artifacts/aura-forge`) - **React 19** + **Vite** —— 带有 HMR 的 SPA - **Wouter** —— 轻量级客户端路由 - **TanStack Query** —— 服务器状态、缓存和 mutations - **Tailwind CSS** + **shadcn/ui** —— 组件系统 - **Monaco Editor** (`@monaco-editor/react`) —— VS Code 级别的代码编辑器,完全可编辑 - **viem** —— EVM 钱包交互和部署交易 - **@solana/web3.js** —— Solana devnet 广播 - **Sonner** —— toast 通知 ### 后端 (`artifacts/api-server`) - **Express 5** —— REST API - **PostgreSQL** + **Drizzle ORM** —— 类型安全的数据库访问 - **connect-pg-simple** —— 基于 PostgreSQL 的会话 - **bcryptjs** —— 密码哈希 - **solc** —— 真实的 EVM 编译 - **archiver** —— ZIP 导出生成 - **Pino** —— 结构化日志记录 ### 共享库 - **OpenAPI + Orval** —— API 优先开发;所有 endpoint 定义在 `lib/api-spec/openapi.yaml` 中,REST hooks 和 Zod schema 通过 `pnpm codegen` 自动生成 - **Anthropic Claude** —— 通过 Replit AI Integrations 代理(在生产环境中无需直接管理密钥) ## 快速开始 ### 前置条件 - **Node.js** ≥ 20 - **pnpm** ≥ 9 - **PostgreSQL** 数据库 - **Anthropic API key**(或通过 Replit AI Integrations 访问) ### 1. 克隆仓库 ``` git clone https://github.com/Harmain11/Cross-Chain-Hub.git cd Cross-Chain-Hub ``` ### 2. 安装依赖 ``` pnpm install ``` ### 3. 设置环境变量 在根目录下创建一个 `.env` 文件(或在你的宿主环境中进行设置): ``` # PostgreSQL 连接字符串 DATABASE_URL=postgresql://user:password@localhost:5432/aura_forge # Session secret — 任意长的随机字符串 SESSION_SECRET=your-secret-here-min-32-chars # Anthropic API 访问(通过 Replit AI Integrations 或直接访问) AI_INTEGRATIONS_ANTHROPIC_API_KEY=your-anthropic-key AI_INTEGRATIONS_ANTHROPIC_BASE_URL=https://api.anthropic.com ``` ### 4. 推送数据库 schema ``` pnpm --filter @workspace/db run push ``` ### 5. 启动开发服务器 在两个独立的终端中: ``` # Terminal 1 — API server(默认端口为 8080,读取 $PORT) pnpm --filter @workspace/api-server run dev # Terminal 2 — Frontend(读取 $PORT) pnpm --filter @workspace/aura-forge run dev ``` ## 开发工作流 | 命令 | 描述 | |---|---| | `pnpm --filter @workspace/api-server run dev` | 在开发模式下启动 API 服务器 | | `pnpm --filter @workspace/aura-forge run dev` | 启动前端 Vite 开发服务器 | | `pnpm run typecheck` | 跨所有包运行完整的 TypeScript 类型检查 | | `pnpm run build` | 类型检查 + 构建所有包 | | `pnpm --filter @workspace/api-spec run codegen` | 从 `openapi.yaml` 重新生成 React Query hooks 和 Zod schema | | `pnpm --filter @workspace/db run push` | 推送 DB schema 更改(仅用于开发) | ### 修改 API 所有 REST endpoint 都是契约优先的:编辑 `lib/api-spec/openapi.yaml`,然后运行 codegen 自动更新客户端 hooks 和服务器端的 Zod 验证 schema: ``` pnpm --filter @workspace/api-spec run codegen ``` 这将重新生成: - `lib/api-client-react/src/generated/` —— 前端使用的 React Query hooks - `lib/api-zod/src/generated/` —— API 服务器中用于请求/响应验证的 Zod schema ## 关键设计决策 ### EVM 编译是真实的 Claude 生成 Solidity 源码,`solc` npm 包对其进行编译,任何编译器错误都会被逐字反馈给 LLM 进行自我修复(最多尝试 3 次)。EVM 没有任何 mock 或模拟路径 —— 如果不能编译,就无法通过。 ### Solana 编译是模拟的(并已明确标注) 该平台生成生产级的 Anchor/Rust 源码和完整的 IDL。但是,由于运行时中没有可用的 `cargo`/Anchor 工具链,因此不会构建 `.so` 二进制文件。生成的源码已准备好通过 `anchor build` 立即进行本地编译。Solana 的“部署”是从用户的 Phantom 钱包广播的一笔真实的 devnet 交易,明确标注为验证广播,而不是完整的程序部署。 ### 没有构造函数参数 生成的合约通过 LLM 系统提示词被限制为没有必需的构造函数参数。这使得部署 UI 非常简单 —— 永远不需要动态参数表单。 ### 代码编辑会使分析失效 当用户通过 Monaco 编辑器手动编辑生成的合约并保存时,服务器端存储的安全分数、安全注释、Gas 估算、编译后的字节码、编译日志和验证状态都会被清除。这可以防止在从未重新审计过的手动编辑代码旁边显示过期的分析。重新运行“Improve Security”或重新部署以进行刷新。 ### API 优先开发 整个 REST 接口存在于一个 `openapi.yaml` 文件中。前端 hooks 和服务器验证 schema 均由此生成 —— 客户端和服务器类型之间不会出现差异。 ### 身份验证 使用 `bcryptjs` 和基于 PostgreSQL 的会话(`express-session` + `connect-pg-simple`)的自定义电子邮件/密码身份验证。不依赖任何第三方身份验证提供商。 ## API 参考 完整的 API 描述在 [`lib/api-spec/openapi.yaml`](lib/api-spec/openapi.yaml) 中。关键 endpoint 组: | 组 | Endpoint | |---|---| | **Auth** | `POST /api/auth/signup`, `POST /api/auth/login`, `POST /api/auth/logout`, `GET /api/auth/me` | | **项目** | `GET /api/projects`, `GET /api/projects/:id`, `DELETE /api/projects/:id` | | **Forge** | `POST /api/forge-contract`, `GET /api/forge-contract/:id/stream` (SSE) | | **加固** | `POST /api/projects/:id/harden` | | **代码编辑** | `PATCH /api/projects/:id/code` | | **部署** | `PATCH /api/projects/:id/deploy` | | **监控** | `PATCH /api/projects/:id/monitoring` | | **谱系** | `GET /api/projects/:id/lineage` | | **导出** | `GET /api/projects/:id/export` | | **团队** | `GET /api/teams`, `POST /api/teams`, `GET /api/teams/:id/members` | | **邀请** | `POST /api/teams/:id/invite`, `GET /api/invites`, `POST /api/invites/:id/accept` | | **API 密钥** | `GET /api/api-keys`, `POST /api/api-keys`, `DELETE /api/api-keys/:id` | Forge 流式传输 endpoint (`/api/forge-contract/:id/stream`) 使用 Server-Sent Events,并被刻意排除在 OpenAPI 规范和 codegen 流水线之外,因为 SSE 无法在 React Query hook 模式中清晰地表达。 ## 项目结构(详细) ``` artifacts/ aura-forge/ src/ pages/ dashboard.tsx # Main app: editor, forge panel, deploy, monitoring auth.tsx # Login / signup components/ ui/ # shadcn/ui component library + custom Icons lib/ diff.ts # Line-diff engine for version history view networks.ts # EVM and Solana network configuration api-server/ src/ routes/ projects.ts # All /api/projects/* endpoints forge.ts # Forge job creation + SSE stream auth.ts # Auth endpoints teams.ts # Team management apiKeys.ts # API key management lib/ forge/ pipeline.ts # Core LLM generation + self-healing pipeline auditor.ts # Security hardening + scoring loop compiler.ts # solc compilation wrapper chains.ts # EVM network registry templates.ts # Starter contract templates db.ts # Drizzle DB client session.ts # Session middleware lib/ api-spec/ openapi.yaml # Source of truth for all REST endpoints orval.config.ts # Codegen configuration db/ src/ schema/ contract_projects.ts # Main contracts table users.ts teams.ts api_keys.ts sessions.ts ``` ## 许可证 该项目是开源的。详情请参阅 [LICENSE](LICENSE)。
由 Claude AI 构建 · EVM 通过 solc + viem · Solana 通过 Anchor · 部署于 Replit
标签:AI代码生成, HTTPX, MITM代理, SOC Prime, Solana, Solidity, Web3, 开发工具, 智能合约, 测试用例, 自动化攻击