### 2026年4月的部落格（英文）請見這裡
> https://thesymbolsyndicate.notion.site/April-2026-3e8a7f7eb5e480208ba0c6c9b6f75290

## 2026年4月 Anthony’s Engineering Blog（日文翻譯）

4月感覺是將未完成的部分逐步變成實用 Explorer 後端功能的一個月。模組和交易結構等部分工作從3月就已開始，而4月則對這些部分進行了審查、重構和合併，並將它們連接成實際的 REST 端點。

拉取器（資料擷取與同步程序）需要處理區塊中的所有交易類型，而 REST 端則需要清楚的端點，以便依雜湊查詢交易以及顯示帶有篩選條件的交易清單。在這個過程中，還進行了大量 rebase、審查回饋處理、重構及測試更新。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 後端端點，並為後端與前端的整合做好準備。

感謝閱讀，下次再見！ 🏴‍☠️

<img width="800" height="714" alt="Image" src="../images/April2026_EngineeringBlog_badge.png" />

—

[Anthony](https://x.com/Anthony14w)
（日文翻譯 [Radio](https://x.com/RadioRa26841511)）


### 過往的日文翻譯 The Symbol Syndicate | Anthony’s Engineering Blog
- [2026年3月](https://symbol-community.com/ja/news/411.html)
- [2026年2月](https://symbol-community.com/ja/news/401.html)
- [2026年1月](https://symbol-community.com/ja/news/381.html)
- [2025年12月](https://symbol-community.com/ja/news/366.html)
- [2025年11月](https://symbol-community.com/ja/news/361)
- [2025年10月](https://symbol-community.com/ja/news/351)
- [2025年9月](https://symbol-community.com/ja/news/326)
- [2025年8月](https://symbol-community.com/ja/news/306)
- [2025年7月](https://symbol-community.com/ja/news/293)
- [2025年6月](https://symbol-community.com/ja/news/278)
