Jun 2023 - Present
1. 鏈上金流追蹤系統
- 版控,docker,CICD自動化管線建立, 節省產品迭代,測試,部署時間
- 切成DEV,QAT,UAT,PRD,各自有對應的建置參數根運行環境
2. 14條鏈的鏈上資料爬蟲
- 採用訂閱者webhook模式,便於不同系統串接。
- 使用Python的Celery框架(RabbitMQ, Redis)+ MongoDB。
- 利用pytest+gitlab-ci進行持續整合(CI)。
- 所有模組皆透過docker-compose啟動。
- 開發時可自定義啟動參數和版本,並進入VSCode debug模式快速除錯。
- 版控分為DEV, QAT, UAT, PRD。
- UAT和PRD環境下採用docker-swarm進行分散式運作。
- 整合PROM stack進行log、主機及容器運作監控。
- 系統出問題時,透過webhook通知Google Chat並寄信給開發團隊或PM。
- 開發過程中善用ChatGPT+unittest節省時間。
- 與訂閱此系統的每位開發者合作進行串接。
3. 大鏈全資料爬蟲
- 為上述專案的進階版,主動向老闆提案。
- 提案原因:Etherscan、Solscan等鏈上資料API可能需要付費或有rate limit,在專案成熟階段,這些限制可能導致系統效能不佳。
- 實作方法:架設Bitcoin、Ethereum、Tron等3條主要鏈的節點,並採用Celery任務分散式架構將鏈上資料同步至Elasticsearch。
- 技術選擇:使用Elasticsearch存儲交易資料(更適合關聯式數據庫的資料),因需求主要為查詢而非複雜關聯。
- 開發參考:Google開源的鏈上資料轉中心化數據庫專案。
- 鑑於鏈上數據量龐大且實時更新,在監控方面特別製作當前資料完整度報告(Prometheus)。