rwadurian/tools/testnet-setup/README.md

122 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 测试网设置指南
## 概述
本目录包含用于设置测试网环境的工具和合约。
## 测试网信息
### BSC Testnet
- **Chain ID**: 97
- **RPC URL**: `https://data-seed-prebsc-1-s1.binance.org:8545`
- **区块浏览器**: https://testnet.bscscan.com
- **水龙头**: https://testnet.bnbchain.org/faucet-smart
- **官方测试 USDT**: `0x337610d27c682E347C9cD60BD4b3b107C9d34dDd`
### KAVA Testnet
- **Chain ID**: 2221
- **RPC URL**: `https://evm.testnet.kava.io`
- **区块浏览器**: https://testnet.kavascan.com
- **水龙头**: https://faucet.kava.io
- **测试 USDT**: 需要自行部署
## 快速开始
### 1. 切换到测试网模式
编辑 `backend/services/.env`:
```bash
NETWORK_MODE=testnet
```
或在启动时设置环境变量:
```bash
NETWORK_MODE=testnet docker compose up -d blockchain-service
```
### 2. 获取测试代币
#### BSC Testnet
1. 访问 https://testnet.bnbchain.org/faucet-smart
2. 连接钱包,获取 tBNB
3. BSC Testnet 上有官方测试 USDT地址: `0x337610d27c682E347C9cD60BD4b3b107C9d34dDd`
#### KAVA Testnet
1. 访问 https://faucet.kava.io
2. 输入钱包地址,获取 KAVA
3. 需要部署自定义测试 USDT 合约 (使用 TestUSDT.sol)
### 3. 部署自定义测试 USDT (可选)
如果需要完全控制测试代币,可以部署自定义合约:
1. 打开 [Remix IDE](https://remix.ethereum.org)
2. 创建 `TestUSDT.sol`,粘贴合约代码
3. 编译 (Solidity 0.8.20, Optimizer: 200)
4. 连接 MetaMask切换到目标测试网
5. 部署合约
6. 记录合约地址,更新 `.env`
### 4. 验证配置
启动服务后,检查日志确认网络配置:
```bash
docker logs rwa-blockchain-service 2>&1 | grep "Network mode"
```
应该看到:
```
[INIT] Network mode: testnet (testnet=true)
[INIT] KAVA: chainId=2221, rpc=https://evm.testnet.kava.io
[INIT] BSC: chainId=97, rpc=https://data-seed-prebsc-1-s1.binance.org:8545
```
## 测试充值流程
### 1. 创建测试账户
```bash
curl -X POST http://localhost:3000/api/v1/user/auto-create \
-H "Content-Type: application/json" \
-d '{"deviceId": "test-device-001", "deviceName": {"model": "Test"}}'
```
### 2. 获取充值地址
使用返回的 token:
```bash
curl http://localhost:3000/api/deposit/addresses \
-H "Authorization: Bearer $TOKEN"
```
### 3. 发送测试 USDT
在 MetaMask 中:
1. 切换到测试网
2. 向充值地址发送测试 USDT
3. 等待确认
### 4. 检查充值状态
```bash
curl http://localhost:3000/api/deposit/balances \
-H "Authorization: Bearer $TOKEN"
```
## 文件说明
- `TestUSDT.sol` - 测试 USDT 合约 (Solidity)
- `deploy-test-usdt.ts` - 部署脚本 (参考)
- `README.md` - 本文档
## 注意事项
1. **永远不要在主网使用测试私钥**
2. 测试网代币没有价值,仅供开发测试
3. 测试网可能不稳定,出块速度可能变化
4. 建议先在 BSC Testnet 测试,因为文档更完善