rwadurian/tools/testnet-setup
hailin c924d3aad2 fix(mpc-service): don't block startup on Kafka consumer rebalance 2025-12-09 03:25:07 -08:00
..
README.md fix(mpc-service): don't block startup on Kafka consumer rebalance 2025-12-09 03:25:07 -08:00
TestUSDT.sol fix(mpc-service): don't block startup on Kafka consumer rebalance 2025-12-09 03:25:07 -08:00
deploy-test-usdt.ts fix(mpc-service): don't block startup on Kafka consumer rebalance 2025-12-09 03:25:07 -08:00

README.md

测试网设置指南

概述

本目录包含用于设置测试网环境的工具和合约。

测试网信息

BSC Testnet

KAVA Testnet

快速开始

1. 切换到测试网模式

编辑 backend/services/.env:

NETWORK_MODE=testnet

或在启动时设置环境变量:

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
  2. 创建 TestUSDT.sol,粘贴合约代码
  3. 编译 (Solidity 0.8.20, Optimizer: 200)
  4. 连接 MetaMask切换到目标测试网
  5. 部署合约
  6. 记录合约地址,更新 .env

4. 验证配置

启动服务后,检查日志确认网络配置:

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. 创建测试账户

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:

curl http://localhost:3000/api/deposit/addresses \
  -H "Authorization: Bearer $TOKEN"

3. 发送测试 USDT

在 MetaMask 中:

  1. 切换到测试网
  2. 向充值地址发送测试 USDT
  3. 等待确认

4. 检查充值状态

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 测试,因为文档更完善