跳至內容
0%

如何使用 Alchemy 的應用程式監控工具

作者:Deric Cheng

最後更新:2021年11月10日1 分鐘閱讀

你已經讀過我們介紹如何用節點與區塊鏈溝通,以及為什麼你會需要像 Alchemy 這樣的節點供應商而不是自己架設節點的文章了!

不過我們還沒完整討論到的是,相較於一般的節點供應商,使用我們能額外獲得哪些好處。

其中一個主要原因,說明了為什麼Ethereum 生態系中 70% 的頂尖應用程式選擇我們,是因為我們提供了一整套對開發者友善的工具,讓開發工作輕鬆許多。

這些工具涵蓋了各種需求,從協助你更快建置應用程式,到分析透過我們節點端點傳送的請求與回應,再到即時監控流量與使用者的健康狀態!如果你想直接試用這些工具而不想繼續讀下去,可以在這裡試玩看看。

我們儀表板的首頁
我們儀表板的首頁

即使你在開發初期還不需要用到這個儀表板,相信我們——一旦你把 dApp 公開推出,其他人開始透過你的架構送出請求,這些工具在除錯時會是救命稻草。

Alchemy explorer:查看你的歷史請求

當你向區塊鏈送出單一請求時,通常會立刻從節點收到查詢結果的回應。但以下情況該怎麼辦?

  • 部分請求格式有誤,你想查看過去一天內所有失敗的請求,找出規律(例如找出所有回應 -32000 節點錯誤碼的請求)。
  • 你已將 dApp 推上正式環境,使用者傳送的請求會觸發你的架構中的區塊鏈請求。他們開始回報某些交易無法送達區塊鏈,你想針對他們的交易傳送請求進行除錯。

如果沒有工具協助處理這個過程,你就得翻遍儲存在壓縮文字檔中一頁頁的日誌,依時間排序這些檔案,再用 grep 指令試著找出所需資訊。我們知道這很老派——這正是 Request Explorer 派上用場的地方!

上一集:「偵錯您的 JSON-RPC API 請求」
上一集:「偵錯您的 JSON-RPC API 請求」
Alchemy Request Explorer:搜尋與篩選歷史 JSON-RPC 請求
您全新改良的請求偵錯工具!

我們的 Explorer 讓你能搜尋從 1 秒前到 10 天前,透過我們架構傳送的歷史請求與回應!不用再翻找日誌——先進的技術就在你手邊。

針對這些請求,你可以用各種參數篩選查詢,例如方法類型、HTTP 回應,或節點特定的錯誤!你可以依時間戳記、請求耗時等多種選項來查看請求。

一旦你找到一筆引起注意的請求,通常會想做以下幾件事:

  1. 在日誌中搜尋類似的請求,判斷某個問題的普遍程度。
  2. 嘗試重新發出同一筆請求,確認是否仍然失敗。

第一點,每筆請求旁都有一個好用的小按鈕「Explore Similar」,讓你用相符的參數進行新的搜尋!第二點,則正好帶到下面這個功能:

Alchemy Dashboard Demo
Free video demo

查看 Alchemy 儀表板實際操作

30 分鐘引導式導覽:實際示範儀表板中的每一項工具。

Watch the demo

Alchemy composer:從瀏覽器測試請求

你是否曾覺得手動發出一次性的 API 請求,比實際需要的時間還要久得多?相信我們,我們也有同感。無論是仔細地在終端機寫 curl 請求,還是翻找兩個月前自己亂取名字的 Postman library——總是有點麻煩。

Alchemy Composer 基本上讓你能透過瀏覽器介面發出一次性的區塊鏈請求,並在同一個網頁上立即取得回應。

不用再:

  • 撰寫 curl 請求並選擇端點,你只需選擇想測試的區塊鏈、網路和方法。
  • 猜測每個方法的參數,你只需從下拉選單中選取即可!
  • 解析 JSON 物件,它們在瀏覽器中已預先解析完成!
Alchemy Composer:從瀏覽器測試區塊鏈 API 請求
Alchemy Composer

還有一個特別實用的功能:如果你想把正在查看的請求分享給結對開發的夥伴,只要點右上角的「Copy config URL」,就能直接把那個 URL 分享給對方,而且完整保留所有請求資訊!是朋友之間快速驗證請求的簡便方法。

Alchemy mempool watcher:查看交易狀態

首先,了解 Mempool 的作用很重要。基本上,mempool 是每個節點內部用來暫存待處理交易的等候室。這些交易是使用者已送出,但尚未被「挖掘」、也就是尚未寫入區塊鏈的交易。

以下是交易在區塊鏈上確認前的典型流程摘要:

  1. 使用者產生並簽署一筆交易,建立 sendTransaction 請求,並將該請求送至節點。
  2. 該節點將這筆待處理交易放入它的 mempool。Mempool 會對交易做一連串驗證,否則就會拒絕該交易。
  3. 該節點會盡可能將這筆待處理交易分享給它的節點對等端(peer),如此依序傳遞,讓網路中各個節點的 mempool 都能擁有這筆特定的待處理交易。
  4. 一旦某個區塊被挖出,礦工會從其 mempool 中挑選 gas price 最高的待處理交易並納入該區塊中。這些待處理交易就此被挖掘確認。
  5. 隨著時間過去,始終未被挖掘的待處理交易最終可能會被節點捨棄。

如果你還有疑問,這篇關於待處理交易的文章或許能幫上忙!

一個主要問題是,mempool 對使用者來說基本上是不透明的——唯一能取得其內容資訊的方式,就是透過 API 請求去查詢狀態,而得到的只是源源不絕的日誌串流。

這是一個真實且成功的請求,用於擷取 mempool 的狀態。很棒,對吧。
這是一個真實且成功的請求,用於擷取 mempool 的狀態。很棒,對吧。

看到這個過程如此麻煩,我們決定打造一個 GUI,讓你能在儀表板中查看 mempool 狀態,而不必使用 CLI!

以下是用我們的 Mempool Watcher 瀏覽 mempool 的畫面:

Alchemy Mempool Watcher 列出待處理交易及其 gas 價格與狀態
Alchemy mempool 監控工具

你是否曾納悶為什麼你的待處理交易一直卡著送不出去?絕大多數情況下,是因為你交易的 gas price 低於目前的市場行情。有了這樣的工具,你應該能快速找出卡在 mempool 中的交易,查看其對應的 gas price,並與市場行情比較,判斷是否該用更高的 gas price 重新送出交易。

這些圖表是做什麼用的?

Alchemy 儀表板圖表,顯示一段時間內的請求量與使用分析
Alchemy 上的圖表與分析

身為你的節點供應商,我們能為你蒐集許多實用的資訊——而我們也盡力將這些資訊呈現給你!以下是我們能為你繪製、但你原本無法看到的圖表:

  • 依應用程式區分、隨時間變化的請求次數。
  • 你的請求 IP 位址對應在美國地圖與世界地圖上的分佈(如果你的客戶端應用程式直接向 Alchemy 傳送流量,這非常有用!)
  • 透過你的應用程式送出的近期請求視覺化呈現。
  • 可依應用程式與月份排序的使用紀錄,幫助你找出流量趨勢!

Alchemy 還提供哪些其他好處?

Alchemy 為區塊鏈提供節點基礎架構,也就是說我們負責管理與 Ethereum 區塊鏈(還有其他幾條鏈!)之間傳送與接收請求相關的所有基礎設施。這裡有一些關於為什麼你需要節點供應商的資訊。

一旦你透過我們的系統傳送請求,就能獲得上面提到的所有好處:視覺化圖表與網頁瀏覽器工具,讓建置與監控你的應用程式更加輕鬆。

除此之外,我們還提供:

  • 存取 Alchemy 的 Node API,背後由專屬基礎架構支撐,解決困擾區塊鏈的可擴展性與一致性問題。
  • 存取 Alchemy Notify,這是一個提供推播通知(webhook)的工具,用於區塊鏈上發生的事件,例如交易。
  • 存取我們的 Enhanced APIs,讓你能發出原本計算成本高昂或根本不可能完成的區塊鏈請求。
  • 還有更多功能,包括在 Flow、Crypto.org 等多條鏈,以及 Polygon 和 Arbitrum 等 L2 上都能使用這些功能!

開始使用 Alchemy

把 Alchemy 設定為節點供應商非常簡單——事實上,只需要一行程式碼!如果你一直在用 web3.js 或 ethers.js,只要透過我們的儀表板建立 Alchemy 帳號、產生一組 API key,再把實例化的部分換成類似這樣即可:

如果你想要完整的教學,可以閱讀我們的Getting Started with Alchemy 指南。如果需要協助,請造訪Alchemy support center。

Alchemy 電子報

搶先掌握最新發布消息

訂閱我們的電子報

取得 Alchemy 最新產品更新與資源

A
O
D
+
超過 80,000 名訂閱者

輸入您的電子郵件地址,即表示您同意接收我們的行銷通訊與產品更新。您了解 Alchemy 會依照我們的隱私權聲明處理所收到的資訊。您可以隨時取消訂閱。