122 lines
2.9 KiB
Markdown
122 lines
2.9 KiB
Markdown
# 测试网设置指南
|
||
|
||
## 概述
|
||
|
||
本目录包含用于设置测试网环境的工具和合约。
|
||
|
||
## 测试网信息
|
||
|
||
### 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 测试,因为文档更完善
|