onjehdaniel889-ctrl/StrideCredit

GitHub: onjehdaniel889-ctrl/StrideCredit

StrideCredit 是一个基于 Stellar 区块链的去中心化借贷平台,通过将跨境汇款记录铸造成 NFT 来为缺乏传统信用历史的务工人员建立信用评分,实现公平透明的链上贷款。

Stars: 0 | Forks: 0

# StrideCredit [![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC) [![Frontend: Next.js](https://img.shields.io/badge/Frontend-Next.js-black?logo=next.js)](https://nextjs.org/) [![Backend: Express](https://img.shields.io/badge/Backend-Express.js-white?logo=express)](https://expressjs.com/) [![Smart Contracts: Soroban](https://img.shields.io/badge/Smart_Contracts-Soroban-orange)](https://soroban.stellar.org/) [![Stellar](https://img.shields.io/badge/Stellar-Soroban-purple)](https://stellar.org) StrideCredit 将汇款历史视为信用记录。跨境务工人员通过每月跨境转账证明其财务可靠性,从而获得公平贷款,无需支付高额掠夺性费用。作为回报,贷方通过 Stellar 网络获得透明的收益。 ## ✨ 核心功能 ### 借款人 - **信用建设**:将您现有的汇款历史转化为可操作的信用评分。 - **公平利率**:获取透明、非掠夺性利率的贷款。 - **自主托管**:使用 Stellar 钱包完全掌控您的资产。 ### 贷方 - **透明收益**:通过向经过审计的借贷池提供流动性来赚取利息。 - **风险评估**:基于可验证的链上汇款证明(Remittance NFT)做出明智决策。 ### 技术亮点 - **NFT 抵押品**:Remittance NFT 作为可靠性证明和贷款抵押品。 - **去中心化借贷池**:贷方提供流动性并获得透明收益。 - **透明且可审计**:所有交易和贷款条款均记录在链上。 ## 🏗 项目结构 本仓库为 monorepo 结构,包含三个核心包: - **`backend/`**:Node.js/Express 服务器,提供 API 支持、评分生成和元数据管理。 - **`frontend/`**:Next.js Web 应用程序,为借款人和贷方提供用户界面。 - **`contracts/`**:Soroban(Rust)智能合约,涵盖借贷池、贷款管理和 NFT 抵押品逻辑。 *有关这些组件如何交互的详细信息,请参阅我们的[架构图](ARCHITECTURE.md).* *新贡献者?请从仓库内 wiki 开始:[docs/wiki/README.md](docs/wiki/README.md).* ## 🛠 技术栈 - **区块链**:[Stellar](https://stellar.org)(Soroban 智能合约) - **前端**:Next.js 14、React、TypeScript、Tailwind CSS - **后端**:Node.js、Express、TypeScript、Jest - **钱包集成**:[Stellar Wallet Kit](https://github.com/stellar/stellar-wallet-kit)(Freighter) ## 🏁 快速开始 ### 前置条件 - [Node.js](https://nodejs.org/)(v18 或更高版本) - [npm](https://www.npmjs.com/) 或 [yarn](https://yarnpkg.com/) - [Docker & Docker Compose](https://www.docker.com/)(推荐用于简化设置) - [Rust & Cargo](https://rustup.rs/)(合约开发所需) - [Soroban CLI](https://soroban.stellar.org/docs/getting-started/setup)(合约部署所需) - [Stellar 钱包](https://www.stellar.org/ecosystem/wallets)(测试推荐使用 Freighter) ### 使用 Docker 快速开始(推荐) 1. **克隆仓库:** git clone https://github.com/your-username/stridecredit.git cd stridecredit 2. **配置环境:** cp backend/.env.example backend/.env 如需可编辑 `backend/.env`(默认值适用于本地开发)。 3. **启动所有服务:** docker compose up --build Docker Compose 使用健康检查以确保服务正常启动: - PostgreSQL(`db`)通过 `pg_isready` 标记为健康 - 后端在启动前等待 PostgreSQL 健康,运行 `npm run migrate:up`,然后启动 API - 后端容器通过每 10 秒轮询 `GET /health`(3 次重试)标记为健康 4. **访问应用程序:** - 前端:[http://localhost:3000](http://localhost:3000) - 后端 API:[http://localhost:3001](http://localhost:3001) - API 文档:[http://localhost:3001/api-docs](http://localhost:3001/api-docs) ### 手动设置 #### 后端设置 1. **进入后端目录:** cd backend 2. **安装依赖:** npm install 3. **配置环境:** cp .env.example .env 使用您的配置更新 `.env`(至少需要 PostgreSQL 的 `DATABASE_URL`): CORS_ALLOWED_ORIGINS=http://localhost:3000 PORT=3001 NODE_ENV=development DATABASE_URL=postgres://postgres:postgres@localhost:5432/stridecredit 4. **应用数据库迁移**(创建 `scores`、`loan_events`、`indexer_state` 等表): npm run migrate:up 迁移脚本使用冒号形式(`migrate:up` / `migrate:down`),这是标准的 npm 约定。 5. **运行开发服务器:** npm run dev 6. **可用脚本:** - `npm run dev` - 启动带热重载的开发服务器 - `npm run build` - 构建生产版本 - `npm start` - 运行生产构建 - `npm test` - 运行测试套件 - `npm run lint` - 检查代码质量 - `npm run format` - 使用 Prettier 格式化代码 #### 前端设置 1. **进入前端目录:** cd frontend 2. **安装依赖:** npm install 3. **运行开发服务器:** npm run dev 4. **访问应用程序:** 在浏览器中打开 [http://localhost:3000](http://localhost:3000) 5. **可用脚本:** - `npm run dev` - 启动开发服务器 - `npm run build` - 构建生产版本 - `npm start` - 运行生产构建 - `npm run lint` - 检查代码质量 #### 智能合约设置 1. **安装 Rust 和 wasm32 目标:** rustup target add wasm32-unknown-unknown 2. **安装 Soroban CLI:** cargo install --locked soroban-cli 3. **进入合约目录:** cd contracts 4. **构建所有合约:** cargo build --target wasm32-unknown-unknown --release 5. **运行测试:** cargo test 6. **部署到测试网(示例):** 部署前,请使用 [Stellar Friendbot](https://friendbot.stellar.org/?addr=) 为您的测试网账户充值。 soroban contract deploy \ --wasm target/wasm32-unknown-unknown/release/loan_manager.wasm \ --source \ --rpc-url https://soroban-testnet.stellar.org \ --network-passphrase "Test SDF Network ; September 2015" ## 🗺 路线图 - [ ] **真实汇款提供商集成** — 连接 Wise 和 Western Union API 的实时数据,替代模拟历史记录。 - [ ] **移动钱包支持** — 扩展 Stellar Wallet Kit 集成,支持移动优先的 Freighter 和 LOBSTR 流程。 - [ ] **争议解决 UI** — 通过面向借款人的仪表板面板展示现有的链上争议合约。 - [ ] **主网部署** — 审计合约并从 Stellar 测试网迁移到公共网络。 ### 快速贡献指南 1. Fork 本仓库。 2. 创建功能分支(`git checkout -b feature/amazing-feature`)。 3. 进行更改并提交(`git commit -m 'Add amazing feature'`)。 4. 推送到您的分支(`git push origin feature/amazing-feature`)。 5. 提交 Pull Request。 ## 📄 许可证 本项目基于 ISC 许可证授权。详情请参阅 `LICENSE` 文件。
标签:DeFi借贷池, DNS解析, Express, MITM代理, NFT抵押, Rust, Soroban, Stellar, Web3金融服务, 信用评分, 加密借贷, 区块链, 去中心化借贷, 去中心化身份, 去中心化金融, 可视化界面, 开源项目, 无剥削贷款, 普惠金融, 智能合约, 替代性信用评分, 汇款历史转信用记录, 测试用例, 移民工人金融包容, 网络流量审计, 自动化攻击, 自托管钱包, 请求拦截, 跨境汇款, 透明利率, 透明收益, 链上可审计