← 返回
Apr 2026 The Symbol Syndicate | Anthony’s Engineering Blog

Apr 2026 The Symbol Syndicate | Anthony’s Engineering Blog

2026年4月 Anthony’s Engineering Blog

打开 Markdown

分享这篇文章

2026年4月的博客(英文)请见这里

https://thesymbolsyndicate.notion.site/April-2026-3e8a7f7eb5e480208ba0c6c9b6f75290

2026年4月 Anthony’s Engineering Blog(日语翻译)

4月感觉是将未完成的部分逐步变成实用 Explorer 后端功能的一个月。模块和交易模式等部分工作从3月就已开始,而4月则对这些部分进行了审查、重构和合并,并将它们连接成实际的 REST 端点。

拉取器(数据获取与同步进程)需要处理区块中的所有交易类型,而 REST 端则需要清晰的端点,以便按哈希查询交易以及显示带有筛选条件的交易列表。在这个过程中,还进行了大量变基、审查反馈处理、重构及测试更新。NEM Explorer 后端就是这样逐步完善起来的。 🦾

主要工作概述

  • 完成并合并了马赛克模块。
  • 完成了从区块处理交易的工作。
  • 添加了 /transaction/<hash> 和支持多个筛选条件的 /transactions 列表端点。
  • 在 lightapi/python 中添加了对未确认交易的支持。
  • 在本地验证了拉取器在 NEM 测试网上的同步。

各项工作详情

马赛克模块

  • 马赛克模块的开发始于3月,因此4月主要用于处理审查反馈、重构和合并。
  • 重构了马赛克、马赛克列表以及富豪榜的 REST 端点。
  • 添加了马赛克富豪榜的单元测试,确认端点能够正常工作。
  • 随着这些 PR 的合并,马赛克模块已经完成。

交易拉取器

  • 4月重点完成了交易拉取器。
  • 为拉取器添加了处理区块中所有交易类型的功能。
  • 修复了无法从发送者公钥正确转换出 sender_address 的问题。
  • 多重签名的内部交易可通过交易哈希查询,因此删除了不必要的内部交易 ID 逻辑。
  • 这部分工作让我更深入地理解了交易数据应如何组织,以便存储和后续查询。
  • 经过多轮反馈和重构,交易拉取器模块终于合并了。

交易 REST API

  • 拉取器运行趋于稳定后,我开始处理交易 REST 端点。
  • 添加了 /transaction/<hash> 端点,用于通过交易哈希查询交易详情。
  • 重构了交易输出逻辑,使响应更简洁、更易于维护。
  • 添加了对多重签名及内部交易输出的支持。
  • 通过这个端点,Explorer 可以按交易哈希查询详细的交易信息。
  • 添加了支持分页及按区块高度排序的 /transactions 端点。
  • 实现了针对 height、transaction_types、address、senderAddress、recipientAddress 和 senderPublicKey 的筛选条件。
  • 最后的“mosaic”筛选条件颇具挑战,因为查询需要正确匹配与马赛克有关的交易数据。
  • 我也考虑过 /mosaic/transfers,但 /transactions 的 mosaic 筛选条件可以满足同样的使用场景,因此决定不采用它。
  • 这再次提醒我,有时候更好的解决方案是改进现有端点,而不是添加新端点。

Lightapi / Python

  • 为支持 NEM Explorer,添加了未确认交易端点。
  • 这使 Explorer 能够通过 lightapi/python 查询未确认的交易数据。
  • 相比 Explorer 后端工作,这项改动较小,但 Explorer 依赖底层 API 层提供完整的数据,因此它仍是一项重要改动。

拉取器同步验证

  • 使用拉取器将 NEM 测试网数据同步到本地数据库。
  • 在本地检查了同步过程,结果良好。
  • 编写了在本地运行拉取器的设置指南,使设置步骤更容易重复执行和测试。

下一步计划

交易列表端点仍需进一步研究,特别是筛选功能和审查反馈。之后,我将继续处理其余 Explorer 后端端点,并为后端与前端的集成做好准备。

感谢阅读,下次再见! 🏴‍☠️

Image

—

Anthony (日语翻译 Radio)

以往的日语翻译 The Symbol Syndicate | Anthony’s Engineering Blog