区块链钱包应用
我们独自把一款运行中的区块链钱包应用重新做成另一平台的版本。钱包只要一个地址、一个签名出错,用户就可能找不到自己的资产,因此首要任务是用与原应用相同的地址处理同一个钱包。我们仅凭原应用的源代码分析功能与界面流程,从界面架构设计一直实现到钱包创建与恢复、转账与签名、交易记录查询。我们没有止步于照搬原有行为,而是按新平台的使用方式重新整理了界面结构与操作。
只凭源代码移植,并按新平台方式重组的界面
区块链钱包应用的移植,从对照原应用源代码分析功能与界面流程开始。没有其他负责人,由我们独自承担,既搬移原有行为,也按新平台的使用方式重新整理界面结构与操作。我们亲自设计了把界面、界面状态和界面跳转职责分开的架构,降低了钱包、转账和交易记录界面的复杂度。

让原应用创建的钱包以相同地址恢复
区块链钱包采用分层确定性(HD)结构,按标准路径规则从一个钱包派生出多个地址。把这套派生规则移植到新平台时,我们逐一验证了路径、密钥管理和地址生成过程,确保创建、恢复钱包和派生地址的结果与原应用一致。同一个钱包若在两款应用中给出不同地址,用户就找不到自己的资产。

私钥与签名和界面分开的转账
加密货币转账按以下顺序进行:输入收款地址和金额,为交易签名并发送到区块链网络,再确认处理状态。处理私钥与签名的部分与界面逻辑分离,修改界面也不会触及密钥和签名流程。网络响应缓慢或失败、交易从处理中变为完成等用户最敏感的时刻,其界面也一并处理。

按屏幕尺寸重新排布余额、地址与交易列表
钱包界面集中了需要一次读完的信息:余额、地址、转账输入和交易列表。我们重新设计了主要界面的布局,按不同机型的屏幕尺寸和安全区域(屏幕上下边缘可能被遮挡的部分)进行整理。在交易列表中点选一笔,即可查看该交易的详情。

项目亮点
仅凭原应用源代码独立移植到另一平台
与原应用生成相同地址的分层(HD)钱包创建与恢复
将私钥与签名和界面逻辑分离的转账结构
洞察
GA4 client_storage: 'none'은 정말 쿠키를 막을까?
두 달 전 이 블로그에 「GA4 쿠키 없이 쓰기」라는 글을 썼습니다. clientstorage: 'none' 으로 쿠키 저장을 끄고, 자체 분석이 쓰던 익명 ID 를 clientid 로 넘기면 쿠키 0개로 GA4 를 쓸 수 있다는 내…
GA4 Measurement Protocol: gtag.js 없이 서버에서 이벤트 보내기
랜딩 페이지의 전송량을 파일 단위로 쪼개 보다가, 가장 큰 파일이 우리 코드가 아니라는 것을 알았습니다. Google Analytics 의 gtag.js 였고, 방문 한 번에 176KB 를 받고 있었습니다. 페이지 전체가 1,094K…
중소 제조업 AI 도입 순서: DX를 먼저 끝내야 할까?
공장을 가진 중소·중견 제조기업 16만여 곳 가운데 스마트공장을 도입한 곳은 19.5%입니다. 회사가 작을수록 이 비율은 더 떨어집니다. 중소벤처기업부가 2025년 4월에 낸 제1차 스마트제조혁신 실태조사 결과입니다. 그림: 기업 규…
Next.js loading.tsx와 404: 버튼이 화면보다 먼저 살아나게 하기
관리 화면 왼쪽 위에 사이드바를 접고 펴는 ☰ 버튼이 있습니다. 폭 하나 바꾸는 버튼인데, 대시보드에서 누르면 2초 넘게 아무 반응이 없었습니다. 레이아웃만 바꾸는 일이 왜 이렇게 오래 걸리는지부터 들여다봤습니다. Next.js 16…



