跳转到内容

2026-06-10

转入 NovaSwap(fomopaddapp / iro-bsc) 全天。主线两块:① K线 + 交易记录全量迁到后端新独立 UDF 服务(RWA CoinDetail + 非RWA 详情页都切,抽出共享客户端 klineUdf);② FEAT-015 非RWA代币详情页 持续收尾——持有者/流动性复用 RWA LpTable、代币信息对齐原型、路由改合约地址方案(Owner 否决 slug)、放开 Swap 入口。傍晚后端补齐 Ticker(24h行情) + Market(多DEX行情) 接口缺口,当晚即接入:指标网格/K线顶部价/市场Tab/持有者数/流通供应量全部接真实数据。收尾 curl 实测测试网,定位 Market 服务端 testMode 锁 VOYA + 默认 chain=bsc 主网与前端测试网错位,已同步 zz。

K线迁移后端新 UDF 服务(非RWA 详情页,上午)

Section titled “K线迁移后端新 UDF 服务(非RWA 详情页,上午)”

新 kline 是 zz 全量重写的独立服务(标准 TradingView UDF:REST /udf/history 拿历史 + WS 拿增量),symbol 直接用 Novaswap pair 地址。

  • 2b06ea3d:非RWA 详情页 K线接入后端 UDF 数据源(lightweight-charts v5 蜡烛图)。
  • 31a16095:WS 有限重试(≤3 次)+ 超限静默降级为纯 REST(图表已含在途最新一根,WS 仅锦上添花,不刷屏不空打端点)。
  • 996e7e7a:WS 路径改 /ws(文档写的 /udf/ws 是错的,实测 /ws 握手 101)。
  • 1c083278:接入 has_swap 预判——从没成交过的 pair K线必空,跳过 history+WS 直接显「暂无成交」(省往返)。

抽共享 UDF 客户端 + RWA 详情页同步迁移(中午)

Section titled “抽共享 UDF 客户端 + RWA 详情页同步迁移(中午)”
  • 73afa1aa:plan 收尾状态——本期完成 vs 待后端。
  • 355555e2:抽出共享客户端 src/api/klineUdf.ts(为 RWA 迁移铺路,RWA/非RWA 共用一套)。
  • 6051c8a1RWA CoinDetail/KLineChart 迁到后端 UDF 服务(-281/+88,去掉旧 coinId 聚合,保留时间区间)。
  • 94ce2bb9RWA 交易记录迁到 UDF(旧 test-api /swap/user/swap by community_id 将停,统一走 kline 服务按 pair 地址)。
  • be938d07:非RWA 交易记录接新 UDF Trade 服务(全部/我的交易,type 1买2卖,token=base 量、bnb=quote 量)。

旧 test-api 的 K线 coinId/history + swap community_id 前端已全部迁完、无残留引用,可下线。

FEAT-015 非RWA详情页收尾(下午)

Section titled “FEAT-015 非RWA详情页收尾(下午)”
  • 22c0081e:右侧栏「顶级持有者 / 流动性」复用 RWA LpTable(公用、接口不变,传 contract + pair_address)。
  • 79afbf28:交易表 RWA/非RWA 双向统一样式。
  • 200a567f:代币信息 Tab 对齐原型——只保留「代币经济」卡片(总供应量/流通量/持有者/市值)。
  • 6eedd8d4总供应量极小值不再被抹成 0 —— fmtIntMath.round 把退化测试币(如 WXOC=0.0000097)抹成 0,改为 n>=1 才取整、否则保留 8 位有效小数。
  • 路由方案敲定(5fcc1bb4 → 改 65597f28 方案A):曾倾向「方案A(后端建记录+slug)」,Owner(bob) + zz 最终拍板:非RWA 用合约地址跳转,后端不返回 token slug(kline 系统没 slug 字段、全用合约+交易对查)。
  • 36df5e34放开 Swap 入口——非RWA 卡片 onCardClick/non-rwa-detail/{address}、分享按地址拼链接(解锁了之前卡 slug 的前端尾巴)。
  • 6f90eb4a计价币 USDT 不放详情入口——USDT/USDT 自配对无意义,同原生 BNB 一样排除(QA 反馈)。
  • 7c1a6942:市场 Tab 先改回原型 3 行占位(当时 BE-005 多DEX接口未就绪)。

FEAT-015 接入 Ticker + Market(傍晚 · 核心)

Section titled “FEAT-015 接入 Ticker + Market(傍晚 · 核心)”

后端补齐两个接口缺口(zz 更新接口文档,拉到本地 docs/前端接口/{Ticker,Market}/),当晚即接入

  • f58fd123
    • klineUdffetchTickerGET /api/ticker/{pair})+ fetchMarketGET /api/market/{token})。
    • 新 hook useNonRwaMarketuseTicker(8s 轮询 24h 量/涨跌/高/低/价) + useMarketRows(多DEX行情 + 持有人数)。
    • 详情页指标网格 / K线顶部价 / 市场Tab / 持有者数接真实数据;无成交/未配数据时优雅回退 mock 占位 + 链上价。
  • 594be1d6流通供应量接入 token_reserve_total——zz 确认「流通量=各 swap 池中本币数量累计」正是 Market 顶层的 token_reserve_total

接入后 FEAT-015 前端不再有待后端缺口:链上(价/市值/流动性/池/供应量) + Ticker(24h+价) + Market(多DEX+持有者+流通量) + UDF(K线/交易) + LpTable(持有者/流动性明细) 全覆盖。社交/描述原型已移除,N/A。

测试网 curl 实测 + 网络错位定位(深夜)

Section titled “测试网 curl 实测 + 网络错位定位(深夜)”

接入后 curl test-kline.novahub.global 实测,区分「前端没接对」vs「后端数据/配置」:

  • Ticker ✅:按 pair 真实返回。VLL pair has_swap=true 价格真实($9.57)、24h 无成交故量/高/低=0;MockB has_swap=false → 前端「暂无成交」。前端表现符合预期。
  • Market ⚠️ 两个发现(已同步 zz):
    1. 服务端 testMode=true——无论前端传哪个 token,响应 token_address 都回 0x16a7c447…(VOYA)。即文档「testMode 时忽略前端传的 token/chain、强制用 testTokenAddress」。前端按文档传参无误?limit=5、token 在 path、chain 留空走默认)。
    2. 默认 chain=bsc 是【正式网】——文档写明 defaultChain: bsc # BSC 正式网,Moralis 取的是主网数据;而前端其余数据(Ticker/链上/交易)都在 bsc 测试网。生产(主网)三者对齐无碍;仅测试网开发期错位 → 测试网发的币主网上不存在、真查也查不到,故后端用 testMode 锁 VOYA 给前端验渲染。
  • 本期均在 feature/fe-007-rwa-kline-udf 分支,按指令仅 commit、未 push(用户要全流程会显式说 build+push)。
  • 生产 kline 域名走构建期 REACT_APP_KLINE_BASE_URL(缺省回退 test-kline.novahub.global)。
  • K线/交易全量迁新 UDF 服务:RWA + 非RWA 共用 src/api/klineUdf.ts;旧 test-api(coinId/community_id) 前端已无残留,可下线。WS 是 /ws/udf/ws;symbol=pair 地址;has_swap=false 跳过 history+WS。
  • 非RWA 路由 = 合约地址(Owner + zz 否决 slug):/non-rwa-detail/{address},收藏 localStorage(不跨设备),数据全按 pair/合约。
  • 流通供应量 = Market token_reserve_total(zz 确认=各 swap 池本币 reserve 累加);持有者数 = Market token_holders(Moralis)。
  • Market 是主网 Moralis 代理:默认 chain=bsc 正式网,测试网阶段拿不到当前测试网币的市场/持有者/流通量(只能验渲染),生产 testMode=false 后按主网真实 token 返回。
  • 待 zz 回复(已同步):测试网 Market testMode 锁 VOYA + 默认 chain=主网 与前端测试网错位——确认是否① 临时关 testMode / 改 testTokenAddress 指到在测的币,还是② 就用 VOYA 联调(则测试网市场/持有者/流通量恒为 VOYA 属预期,前端不再追、等主网联调)。
  • 待 QA/zz 复测:FEAT-015 全链路(K线/交易 UDF 迁移 + Ticker/Market 接入 + 路由合约地址 + Swap 入口放开);RWA 详情页 K线/交易迁移后回归。
  • 部分 pair 未被 kline indexer 索引(如 WXOC)→ /udf/history 返回 no_data,属后端索引范围、非前端 bug。
  • 跟进 zz 对 Market testMode/chain 的回复,按结论决定测试网是否能验真实数据。
  • 待 QA 复测 FEAT-015,响应反馈。
  • 视后端进度推进 RWA 详情页迁移后的回归确认。