一个基于 Web3 技术的即时合约交易平台,提供高效、安全的加密货币合约交易服务。
instantContract 是一个完整的去中心化金融(DeFi)交易平台,专注于提供即时合约交易服务。平台采用现代化的微服务架构,结合区块链技术和传统金融交易模式,为用户提供安全、高效、透明的交易体验。
- 🔄 即时合约交易:支持多种加密货币对的合约交易
- 📊 实时市场数据:提供实时价格行情和K线图表
- 🎯 价格目标设置:允许用户设置价格目标,自动执行交易
- ⚖️ 滑点配置:灵活的滑点设置,优化交易执行
- 📈 AI 预测功能:基于人工智能的价格预测服务
- 💰 多钱包支持:支持 Metamask、TokenPocket 等主流钱包
- 💳 资产查询:实时查询账户余额和交易记录
- 📝 充值提现:安全的充值和提现功能
- 🛡️ 保险钱包:提供额外的资产保障
- 🧑💼 用户管理:全面的用户管理功能
- 📊 数据分析:详细的交易数据分析和统计
- ⚙️ 系统配置:灵活的系统参数配置
- 📝 日志记录:完整的操作日志和审计
- 🚀 高性能:采用微服务架构,支持高并发交易
- 🔒 安全性:多层安全机制,保护用户资产和数据
- 🌐 去中心化:基于区块链技术,确保交易透明和不可篡改
- 📱 响应式设计:适配各种设备尺寸
- 语言:Python 3.11+
- 框架:FastAPI
- 数据库:PostgreSQL
- ORM:SQLAlchemy
- 消息队列:Redis + Celery
- API文档:Swagger UI + ReDoc
- 框架:React 18
- 语言:TypeScript
- 构建工具:Vite
- UI组件:自定义组件库
- Web3库:Ethers.js
- 语言:Python 3.11+
- 数据源:Binance WebSocket API
- 缓存:Redis
- 容器化:Docker
- 编排工具:Docker Compose
- CI/CD:Gitea Actions
instantContract/
├── backend/ # 后端服务
│ ├── api/ # API 路由
│ ├── middleware/ # 中间件
│ ├── models/ # 数据库模型
│ ├── schemas/ # 数据模式
│ ├── services/ # 业务逻辑
│ ├── tasks/ # Celery 任务
│ ├── tests/ # 测试用例
│ ├── utils/ # 工具函数
│ ├── alembic/ # 数据库迁移
│ └── main.py # 应用入口
├── frontend/ # 前端应用
│ ├── public/ # 静态资源
│ ├── src/ # 源代码
│ │ ├── components/ # React 组件
│ │ ├── contexts/ # React 上下文
│ │ ├── hooks/ # 自定义钩子
│ │ ├── pages/ # 页面组件
│ │ ├── services/ # API 服务
│ │ └── types/ # TypeScript 类型
│ └── index.html # HTML 入口
├── price_engine/ # 价格引擎
│ ├── tests/ # 测试用例
│ ├── utils/ # 工具函数
│ └── main.py # 应用入口
└── docker-compose.yml # Docker Compose 配置
- Docker 20.10+
- Docker Compose 2.0+
-
克隆仓库
git clone <repository-url> cd instantContract
-
启动所有服务
docker compose up -d
-
访问应用
docker compose downdocker compose logs -fdocker compose exec -T backend pytest tests/docker compose run --rm frontend-test npm test-
进入容器
docker compose exec backend bash -
运行数据库迁移
alembic upgrade head
-
添加新的迁移
alembic revision --autogenerate -m "Add new table"
-
安装依赖
cd frontend npm install -
启动开发服务器
npm run dev
复制并编辑 backend/.env 文件(基于 backend/.env.example):
# 数据库配置
DATABASE_URL=postgresql+asyncpg://postgres:orje13cr3nc7cqnaq0sk9no2s2dsqb6u@postgres:5432/instantcontract
# JWT 配置
JWT_SECRET_KEY=your-secret-key-change-in-production
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_HOURS=24
# 应用配置
APP_NAME=instantContract API
APP_VERSION=1.0.0
FRONTEND_URL=http://localhost:3000
# CORS 配置
CORS_ORIGINS='["http://localhost:3000"]'
# 频率限制
RATE_LIMIT_PER_MINUTE=60编辑 frontend/.env.development 或 frontend/.env.production 文件:
# 应用配置
VITE_APP_NAME=instantContract
VITE_APP_VERSION=1.0.0
# API 配置
VITE_API_URL=http://localhost:3001/api/v1
# Web3 配置
VITE_WEB3_PROVIDER_URL=https://mainnet.infura.io/v3/your-infura-key# 查看占用端口的进程
lsof -i :3001
# 或修改 docker-compose.yml 中的端口# 清理缓存重新构建
docker compose build --no-cache# 检查 PostgreSQL 容器状态
docker compose ps postgres
# 查看数据库日志
docker compose logs postgres
# 测试数据库连接
docker compose exec postgres pg_isready -U postgres# 查看当前迁移状态
docker compose exec backend alembic current
# 查看迁移历史
docker compose exec backend alembic history
# 重置数据库(警告:会删除所有数据)
docker compose down -v
docker compose up -d postgres
sleep 10
docker compose exec backend alembic upgrade head本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
欢迎提交 Issue 和 Pull Request!
如有问题或建议,请通过以下方式联系我们:
- Email: support@instantcontract.com
- GitHub: instantcontract
⚡ instantContract - 让合约交易更简单、更高效!
下一代 Web3 去中心化交易平台 - 快速、安全、透明