feat(scripts): 获取 mpc-system 实际创建的 username
- 添加 get_actual_username 函数从数据库查询实际 username - mpc-system 自动生成 wallet-xxx 格式,脚本输出实际值 - show_result 使用 ACTUAL_USERNAME 显示正确配置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
cdf858520d
commit
578a865c4d
|
|
@ -351,6 +351,35 @@ get_public_key() {
|
|||
echo " 公钥: ${PUBLIC_KEY:0:16}...${PUBLIC_KEY: -16}"
|
||||
}
|
||||
|
||||
# 获取 mpc-system 实际创建的 username
|
||||
# mpc-system 会自动生成 wallet-{session_id前8位} 格式的 username
|
||||
get_actual_username() {
|
||||
log_info "获取 mpc-system 创建的实际 username..."
|
||||
|
||||
# 等待账户创建完成 (session-coordinator 异步创建)
|
||||
sleep 3
|
||||
|
||||
# 通过数据库查询实际的 username
|
||||
local db_query_result=$(docker exec mpc-postgres psql -U postgres -d mpc_system -t -A -c \
|
||||
"SELECT username FROM accounts WHERE keygen_session_id = '$SESSION_ID' LIMIT 1;" 2>/dev/null)
|
||||
|
||||
if [ -z "$db_query_result" ]; then
|
||||
log_warn "未找到账户,等待 5 秒后重试..."
|
||||
sleep 5
|
||||
db_query_result=$(docker exec mpc-postgres psql -U postgres -d mpc_system -t -A -c \
|
||||
"SELECT username FROM accounts WHERE keygen_session_id = '$SESSION_ID' LIMIT 1;" 2>/dev/null)
|
||||
fi
|
||||
|
||||
if [ -n "$db_query_result" ]; then
|
||||
ACTUAL_USERNAME="$db_query_result"
|
||||
log_success "获取到实际 username: $ACTUAL_USERNAME"
|
||||
else
|
||||
# 如果无法查询数据库,使用预期的格式
|
||||
ACTUAL_USERNAME="wallet-${SESSION_ID:0:8}"
|
||||
log_warn "无法查询数据库,使用预期格式: $ACTUAL_USERNAME"
|
||||
fi
|
||||
}
|
||||
|
||||
# 派生 EVM 地址
|
||||
derive_address() {
|
||||
log_info "派生 EVM 地址..."
|
||||
|
|
@ -409,13 +438,16 @@ except Exception as e:
|
|||
|
||||
# 显示结果
|
||||
show_result() {
|
||||
# 使用 mpc-system 实际创建的 username
|
||||
local final_username="${ACTUAL_USERNAME:-$USERNAME}"
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}=============================================="
|
||||
echo "热钱包初始化完成!"
|
||||
echo "==============================================${NC}"
|
||||
echo ""
|
||||
echo "配置信息:"
|
||||
echo " 用户名: $USERNAME"
|
||||
echo " 用户名: $final_username"
|
||||
echo " 门限: $THRESHOLD_T-of-$THRESHOLD_N"
|
||||
echo " 会话ID: $SESSION_ID"
|
||||
echo " 公钥: ${PUBLIC_KEY:0:32}..."
|
||||
|
|
@ -426,7 +458,7 @@ show_result() {
|
|||
echo -e "${YELLOW}请将以下配置添加到环境变量:${NC}"
|
||||
echo ""
|
||||
echo " # 在 backend/services/.env 中添加:"
|
||||
echo " HOT_WALLET_USERNAME=$USERNAME"
|
||||
echo " HOT_WALLET_USERNAME=$final_username"
|
||||
if [ -n "$ADDRESS" ]; then
|
||||
echo " HOT_WALLET_ADDRESS=$ADDRESS"
|
||||
else
|
||||
|
|
@ -440,7 +472,7 @@ show_result() {
|
|||
echo ""
|
||||
echo "cat >> backend/services/.env << 'EOF'"
|
||||
echo "# Hot Wallet Configuration (initialized $(date +%Y-%m-%d))"
|
||||
echo "HOT_WALLET_USERNAME=$USERNAME"
|
||||
echo "HOT_WALLET_USERNAME=$final_username"
|
||||
echo "HOT_WALLET_ADDRESS=$ADDRESS"
|
||||
echo "EOF"
|
||||
echo ""
|
||||
|
|
@ -476,6 +508,7 @@ main() {
|
|||
create_keygen_session
|
||||
wait_for_keygen
|
||||
get_public_key
|
||||
get_actual_username
|
||||
derive_address
|
||||
|
||||
show_result
|
||||
|
|
|
|||
Loading…
Reference in New Issue