credentials.test.json
创建测试配置文件 credentials.test.json
:
{
"pacifica": [
{
"accountId": "pac-test-001",
"alias": "Pacifica测试账户",
"privateKey": "test_base58_private_key_here",
"environment": "development"
}
],
"aster": [
{
"accountId": "ast-test-001",
"alias": "Aster测试账户",
"ethPrivateKey": "0xtest_ethereum_private_key",
"signerAddress": "0xtest_signer_address",
"environment": "development"
}
],
"binance": [
{
"accountId": "bn-test-001",
"alias": "Binance测试账户",
"apiKey": "test_api_key",
"secretKey": "test_secret_key",
"environment": "development"
}
]
}
# 启动签名服务
npm run start:credential-service -- --config ./credentials.test.json
# 验证服务状态
curl -X GET "http://localhost:3000/api/v1/status"
配置加载成功: 3个平台, 3个账户
active
curl -X POST "http://localhost:3000/api/v1/sign" \
-H "Content-Type: application/json" \
-d '{
"platformId": "pacifica",
"accountId": "pac-test-001",
"data": {
"instruction": {
"type": "place_order",
"market": "BTC-USD",
"side": "bid",
"amount": "0.001",
"price": "65000"
},
"nonce": 1735390800000
}
}'
signature
字段,base58编码algorithm
字段为 "ed25519
"publicKey
字段正确派生curl -X POST "http://localhost:3000/api/v1/sign" \
-H "Content-Type: application/json" \
-d '{
"platformId": "aster",
"accountId": "ast-test-001",
"data": {
"message": {
"action": "place_order",
"symbol": "BTCUSDT",
"price": "65000",
"quantity": "0.001",
"side": "buy",
"timestamp": 1735390800000
}
}
}'
signature
字段,0x开头的十六进制algorithm
字段为 "eip191"curl -X POST "http://localhost:3000/api/v1/sign" \
-H "Content-Type: application/json" \
-d '{
"platformId": "binance",
"accountId": "bn-test-001",
"data": {
"method": "POST",
"endpoint": "/api/v3/order",
"params": {
"symbol": "BTCUSDT",
"side": "BUY",
"type": "LIMIT",
"quantity": "0.001",
"price": "65000",
"timestamp": 1735390800000
}
}
}'
signature
字段,HMAC-SHA256哈希algorithm
字段为 "hmac-sha256"在 credentials.test.json
中添加新账户:
{
"okx": [
{
"accountId": "okx-test-001",
"alias": "OKX测试账户",
"apiKey": "test_okx_api_key",
"secretKey": "test_okx_secret",
"passphrase": "test_passphrase",
"environment": "development"
}
]
}
curl -X POST "http://localhost:3000/api/v1/config/reload"
changes.added = 1
curl -X POST "http://localhost:3000/api/v1/sign/batch" \
-H "Content-Type: application/json" \
-d '{
"requests": [
{
"requestId": "req_001",
"platformId": "pacifica",
"accountId": "pac-test-001",
"data": {"instruction": {"type": "place_order"}}
},
{
"requestId": "req_002",
"platformId": "aster",
"accountId": "ast-test-001",
"data": {"message": {"action": "cancel_order"}}
}
]
}'
results
数组,每个请求一个结果summary
显示成功/失败统计# 备份原配置
cp credentials.test.json credentials.backup.json
# 创建无效配置
echo "invalid json" > credentials.test.json
# 尝试重载
curl -X POST "http://localhost:3000/api/v1/config/reload"
# 检查服务状态
curl -X GET "http://localhost:3000/api/v1/status"
# 尝试签名(应该仍可用,使用旧配置)
curl -X POST "http://localhost:3000/api/v1/sign" \
-H "Content-Type: application/json" \
-d '{
"platformId": "pacifica",
"accountId": "pac-test-001",
"data": {"test": "data"}
}'
# 恢复有效配置
cp credentials.backup.json credentials.test.json
# 重新加载
curl -X POST "http://localhost:3000/api/v1/config/reload"
CONFIG_LOAD_FAILED
# 停止签名服务
pkill -f credential-service
# 或使用npm脚本
npm run stop
# 删除测试配置文件
rm credentials.test.json credentials.backup.json
# 清理日志文件
rm -rf logs/test_*
测试场景 | 成功标准 | 性能要求 |
---|---|---|
配置加载 | 4个平台账户成功加载 | < 1秒 |
Pacifica签名 | Ed25519签名成功 | < 50ms |
Aster签名 | EIP-191签名成功 | < 50ms |
Binance签名 | HMAC-SHA256签名成功 | < 50ms |
配置热重载 | 新配置生效,服务无中断 | < 5秒 |
批量签名 | 并发处理正确 | < 200ms |
故障恢复 | 错误处理正确,服务稳定 | 降级运行 |
总体验收标准: