Harmain11/Cross-Chain-Hub
GitHub: Harmain11/Cross-Chain-Hub
该平台是一个由 AI 驱动的跨链智能合约生成、安全审计与部署工具,支持用自然语言快速生成 EVM 和 Solana 合约代码。
Stars: 1 | Forks: 0
**用纯英文描述智能合约。几分钟内即可获得可用于生产环境、经过审计且可部署的代码。**
[](https://www.typescriptlang.org/)
[](https://reactjs.org/)
[](https://nodejs.org/)
[](https://www.postgresql.org/)
[](https://anthropic.com)
[](https://ethereum.org)
[](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, 开发工具, 智能合约, 测试用例, 自动化攻击