2026-06-10
2026-06-10 daniel 工作日志
Section titled “2026-06-10 daniel 工作日志”转入 NovaSwap(fomopaddapp / iro-bsc) 全天。主线两块:① K线 + 交易记录全量迁到后端新独立 UDF 服务(RWA
CoinDetail+ 非RWA 详情页都切,抽出共享客户端klineUdf);② FEAT-015 非RWA代币详情页 持续收尾——持有者/流动性复用 RWALpTable、代币信息对齐原型、路由改合约地址方案(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-chartsv5 蜡烛图)。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 共用一套)。6051c8a1:RWACoinDetail/KLineChart迁到后端 UDF 服务(-281/+88,去掉旧 coinId 聚合,保留时间区间)。94ce2bb9:RWA 交易记录迁到 UDF(旧 test-api/swap、/user/swapby community_id 将停,统一走 kline 服务按 pair 地址)。be938d07:非RWA 交易记录接新 UDF Trade 服务(全部/我的交易,type 1买2卖,token=base 量、bnb=quote 量)。
旧 test-api 的 K线
coinId/history+ swapcommunity_id前端已全部迁完、无残留引用,可下线。
FEAT-015 非RWA详情页收尾(下午)
Section titled “FEAT-015 非RWA详情页收尾(下午)”22c0081e:右侧栏「顶级持有者 / 流动性」复用 RWALpTable(公用、接口不变,传 contract + pair_address)。79afbf28:交易表 RWA/非RWA 双向统一样式。200a567f:代币信息 Tab 对齐原型——只保留「代币经济」卡片(总供应量/流通量/持有者/市值)。6eedd8d4:总供应量极小值不再被抹成 0 ——fmtInt原Math.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:klineUdf加fetchTicker(GET /api/ticker/{pair})+fetchMarket(GET /api/market/{token})。- 新 hook
useNonRwaMarket:useTicker(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;MockBhas_swap=false→ 前端「暂无成交」。前端表现符合预期。 - Market ⚠️ 两个发现(已同步 zz):
- 服务端
testMode=true——无论前端传哪个 token,响应token_address都回0x16a7c447…(VOYA)。即文档「testMode 时忽略前端传的 token/chain、强制用 testTokenAddress」。前端按文档传参无误(?limit=5、token 在 path、chain 留空走默认)。 - 默认 chain=bsc 是【正式网】——文档写明
defaultChain: bsc # BSC 正式网,Moralis 取的是主网数据;而前端其余数据(Ticker/链上/交易)都在 bsc 测试网。生产(主网)三者对齐无碍;仅测试网开发期错位 → 测试网发的币主网上不存在、真查也查不到,故后端用 testMode 锁 VOYA 给前端验渲染。
- 服务端
构建 / 部署
Section titled “构建 / 部署”- 本期均在
feature/fe-007-rwa-kline-udf分支,按指令仅 commit、未 push(用户要全流程会显式说 build+push)。 - 生产 kline 域名走构建期
REACT_APP_KLINE_BASE_URL(缺省回退test-kline.novahub.global)。
关键决策记录
Section titled “关键决策记录”- 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 累加);持有者数 = Markettoken_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 详情页迁移后的回归确认。