跳至內容
0%

如何快速找出 dapp 問題並在影響使用者前部署修復

作者 Guest Post

發布於 2023年8月21日閱讀時間 1 分鐘

去中心化應用的動態世界中,快速識別和解決問題對於維持流暢的使用者體驗和建立客戶信任至關重要。

關鍵在於透過數據驅動的工程方法,將傳統的被動故障排除轉變為對應用程式的主動健康管理。

Web3 中的數據驅動工程有何獨特之處?

數據驅動工程指的是根據確實的數據而非直覺或猜測來做決策。數據驅動工程使工程團隊能夠在問題影響終端使用者之前就預測、理解並解決這些問題。

Web3 中數據驅動工程面臨哪些挑戰?

儘管數據驅動工程潛力巨大,但目前許多 web3 開發者仍受困於被動模式,原因包括缺乏適當的工具、web3 本身的複雜性,以及區塊鏈產業全天候運作的特性。

1. 缺乏 Web3 可觀測性工具

由於缺乏有效的 web3 專屬監控工具,問題往往在開始影響終端使用者之後才被發現,導致團隊必須匆忙部署修復方案。Web3 開發者經常犧牲自己的安寧和睡眠時間來解決現有問題,這會帶來以下連鎖效應:

  1. 使用者體驗變差
  2. 開發者持續處於高壓、高風險的情境中
  3. 問題疲勞威脅著 dapp 的整體成功

2. 傳統工具無法涵蓋 Web3 的複雜性

此外,傳統分析工具雖然在其他領域表現出色,卻往往無法滿足 web3 的獨特需求,情況因而更加惡化。

這些工具無法擷取開發者在去中心化環境中預測和緩解問題所需的數據深度與廣度。

從使用者互動、智能合約執行到代幣轉移,web3 的世界需要能夠處理其多層次複雜性的監控和分析工具。

數據驅動工程工具有哪些優勢?

數據驅動工程工具的三大主要優勢是:主動問題管理、效能優化,以及協助工程師做出更明智的決策。

1. 主動問題管理

即時數據有助於及早偵測潛在問題,並在其影響使用者之前加以緩解。可以及早標記的潛在問題範圍從效能瓶頸到異常使用者行為都有。

以下是一些範例:

  • 尖峰時段觸及 API 用量限制
  • 使用中的節點失去同步
  • 第三方服務提供者無法使用
  • 區塊鏈壅塞
  • 部署到正式環境的前端出現錯誤,導致交易失敗
  • 偵測試圖與你的智能合約互動的惡意行為者

一個真實案例是,某個 dapp 將功能更新部署到正式環境後,導致失敗交易大幅增加,使用者因此支付了 gas 費用卻無法成功完成交易。

在收到這波激增的警示後,工程團隊迅速找出了根本原因:dapp 前端的一個錯誤,該錯誤在呼叫某智能合約函式時傳入了一個硬編碼參數,而該參數持續違反此函式中的 revert 陳述式。

由於該 revert 陳述式沒有包含說明性的 revert 原因,若沒有可觀測性工具,找出根本原因將會影響更多使用者。

2. 效能優化

分析數據有助於找出瓶頸和低效之處,進而優化效能並提升使用者體驗。此類效能問題包括智能合約執行緩慢、oracle 延遲問題、資源使用效率不佳,以及整個 web3 技術堆疊中的互通性問題。

在一個具體案例中,使用 Blocktorch 的開發團隊在他們的 dapp 中發現了一個反覆出現的低效問題:某個智能合約因其複雜性導致 gas 費用異常偏高。

有了這項資訊,dapp 開發者得以重構該智能合約,精簡其執行流程並大幅降低 gas 費用。這項效率提升不僅改善了他們 dapp 的效能,也為使用者帶來成本節省和使用者體驗上的改善。這個情境說明了數據驅動的洞察如何能在 Web3 領域帶來實質效益和競爭優勢。

3. 明智的決策

團隊可以透過運用從數據中得出的洞察,在功能開發、資源配置和系統改進方面做出更好的決策。

可觀測性讓團隊能夠了解使用者如何與 dapp 的不同功能互動,以及使用趨勢隨時間的變化。舉例來說,這類資訊可以是使用者較常使用的特定鏈(為了最佳使用者體驗,請確保你的 dApp 中最常用的鏈是預設鏈),以及將此資訊與競品應用程式比較。

另一個範例是針對越來越多使用者採用的特定瀏覽器或錢包優化支援。

Alchemy Dashboard Demo
Free video demo

實際操作 Alchemy 儀表板

30 分鐘導覽:現場示範儀表板中的所有工具。

Watch the demo

3 個有助於監控 Web3 工程問題的工具

要讓 web3 工程團隊變得更加數據驅動,採用能提供可觀測性和深入數據分析的工具至關重要。以下幾個工具可以幫助 web3 工程師對其應用程式擁有良好的可觀測性和監控能力。

1. Alchemy Monitor

Alchemy Monitor 提供一整套完整的儀表板,用於監控和分析,以了解 dapp 使用者行為以及 Alchemy API 的健康狀況與效能。

Monitor 讓 dapp 開發者能夠按呼叫類型評估其 API 用量分析,以更好地了解如何優化和除錯其程式。它也提供一個平台,用於建立關於你應用程式活動的警示和摘要報告。

2. Blocktorch

Blocktorch 是 Alchemy Ventures 投資組合中的一家公司,為區塊鏈開發者提供對應用程式的端到端洞察。Blocktorch 定位為 web3 應用程式的全端監控平台,提供無與倫比的廣度和深度洞察,涵蓋前端、區塊鏈交易、智能合約效能,以及 web3 技術堆疊的每一層。

Blocktorch 讓工程團隊不僅能對即時數據做出反應,還能預測潛在問題。他們透過識別模式、發現異常,並以簡單易懂的形式呈現這些洞察,將主動管理提升到更高層次。

這讓團隊不僅能全面掌握 dapp 的健康狀況,還能做出明智的決策並快速部署修復方案。

3. Tenderly

Tenderly 是一款智能合約開發者工具,用於從開發到採用的整個過程中建置、測試、監控和維運智能合約。這套工具支援工程師在部署到主網之前,使用強大的交易模擬器徹底測試其智能合約,並透過找出導致問題的智能合約具體程式碼行,識別正式環境中的問題。

選擇 Web3 監控工具前需考量的 5 個因素

在為你的去中心化應用程式選擇 web3 可觀測性和監控工具時,請考量以下因素:涵蓋範圍、即時警示、數據解讀、可擴展性,以及與其他服務提供者的整合性。

1. 全面的涵蓋範圍

該工具應能提供對 web3 技術堆疊每一層的洞察,從使用者互動到智能合約執行皆然。Blocktorch 讓工程師能夠看清其應用程式的前端、工程團隊開發的智能合約,以及整合的其他協議,並可依需求查看所使用的 oracle 和去中心化檔案儲存。

此外,Blocktorch 與 web2 數據標準 Open Telemetry 互通,可與任何 web2 可觀測性工具搭配使用,適用於應用程式僅部分去中心化、但仍依賴雲端服務的情況。

2. 即時警示

該工具應提供針對潛在問題的即時警示,讓團隊能在問題擴大之前加以修正。以下是 web3 工程師最常設定的一些警示:

  • 交易在 mempool 中等待的平均時間
  • 遭丟棄和失敗交易的百分比
  • 用量突然下降,顯示可能存在功能故障
  • gas 費用飆升,尤其是相對於整體網路 gas 成本而言

上述所有範例都會直接影響使用者:他們使用 dapp 的成本增加,因而尋找更便宜的替代方案;或是他們在使用 dapp 時遇到問題,進而導致流失。

3. 易於解讀的數據

尋找能提供易懂的數據視覺化和可操作洞察的工具。

開箱即用的儀表板能在極短時間內提供洞察,而自訂儀表板則讓工程師能夠靈活地依照團隊需求精確監控。最理想的工具應同時支援這兩者。儀表板提供系統的鳥瞰視角,讓你了解趨勢、突增和存活狀態,再進一步深入探究。

4. 可擴展性

隨著你的 dapp 成長,監控工具應能無縫擴展。舉例來說,如果你的 dapp 正在新增對新區塊鏈網路的支援,你的監控工具也應能同樣擴展到該新鏈。

該工具及其定價方案本身也應具備可擴展性,如此一來,即使你的 dapp 使用量增加,即時功能仍能正常運作。

5. 整合性

該工具應能與團隊使用的其他工具和服務順暢整合。舉例來說,與 IDE 整合以進行智能合約部署,以及與提供節點和其他服務的 API 供應商整合,都有助於獲得順暢的可觀測性體驗和最豐富的數據。

結論

採用數據驅動的方法,對於 web3 工程團隊提供流暢的使用者體驗而言不可或缺。Alchemy 和 Blocktorch 等工具憑藉其先進的可觀測性功能,在協助團隊快速識別並修正問題方面扮演著關鍵角色。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。