跳至內容
0%

什麼是 Polygon 節點:你需要知道的一切

Alchemy team headshot

作者 Alchemy

發布於 2022年9月27日閱讀時間 2 分鐘

Ethereum 主網類似,Polygon 這個 Layer-2 解決方案使用節點來確保所有參與網路的電腦行為正確。不過,Polygon 節點採用不同的架構——它會將處理任務分類並委派給不同的節點層。

在本文中,我們將介紹 Polygon 節點的不同類型、如何建立及執行 Polygon 節點,以及節點供應商如何簡化整個流程。

什麼是 Polygon?

Polygon 是一條側鏈,也是一種 Ethereum 擴容方案,它透過在主 Ethereum 區塊鏈之外執行資源密集型任務來降低 gas 成本並提升可擴展性,同時維持與Ethereum Virtual Machine(EVM)的相容性。

Polygon 前身為 MATIC,於 2017 年更名,但保留 MATIC 作為其代幣代號。因此 Polygon 與 MATIC 實為同一項目。Polygon 主要的測試網路稱為 Mumbai。Mumbai 是一個測試網,開發者可在其中使用測試用的 MATIC 代幣來測試 Polygon 應用程式,而無需花費任何成本。

什麼是 Polygon 節點?

Polygon 節點是下載了 Polygon 區塊鏈副本並參與 Polygon 網路的電腦,但由於 Polygon 有多種節點類型——Bor 節點、Heimdall 節點、完整節點、Sentry 節點以及驗證者節點——每種節點都有各自不同的用途。

Polygon 網路大致分為三層:

  1. Ethereum 主網——用於合約權益證明(Proof-of-Stake)、檢查點(checkpointing)與獎勵
  2. Heimdall 節點層——用於驗證
  3. Bor 節點層——用於產生區塊

以下我們會更詳細地介紹 Heimdall 與 Bor 節點,以及它們如何協同運作以實現更複雜的功能。

什麼是 bor 節點?

**Bor 節點是最基礎的 Polygon 節點類型,負責將交易聚合成區塊,之後 Heimdall 節點便可解析並運用這些區塊。**如此一來,Bor 節點便扮演了 roll-up 機制中的一半角色,將資料聚合成更易於處理的形式。區塊生產者是從一組驗證者節點中隨機選出的。

什麼是 heimdall 節點?

**Heimdall 節點會驗證自上一個檢查點以來的所有 Bor 區塊,然後將 Bor 節點所建立的所有區塊聚合為一棵 Merkle 樹。**Heimdall 節點也會定期將 Merkle 樹根的雜湊值傳送至主區塊鏈。檢查點對 Polygon 系統而言極為重要,因為它們管理著區塊生產者的隨機性,以及特定 span 或區塊集合的驗證者集合選擇。

什麼是完整節點?

完整節點是能完整驗證交易與區塊的節點,分為兩種類型:1)修剪型完整節點(pruned full node),以及 2)歸檔型完整節點(archival full node),也稱為 archive node。

修剪型完整節點會捨棄所有失敗的交易狀態,且僅回溯特定數量的區塊,以維持較輕量化。Archive node 是同時保存鏈上所有歷史狀態的完整節點。本質上,archive node 保存了從創世區塊到最新交易的鏈上確切狀態。

Polygon archive node 可能遇到的一個問題是 archive node 上限,因為整條鏈的狀態資料已接近 16TB。因此,建議增加節點儲存空間、刪除並重新同步節點以清除多餘資料,或是使用 Polygon 節點供應商。

什麼是 sentry 節點?

sentry 節點是一種同時執行 Heimdall 與 Bor 節點的完整節點,用於從其他節點下載資料並將資料傳送至指定的驗證者節點,同時也能存取整個 Polygon 網路。sentry 節點還能將驗證者與公眾隔離,並保護驗證者節點免受分散式阻斷服務(DDOS)攻擊等攻擊向量的侵害,這類攻擊可能會拖慢甚至中斷交易吞吐量。

什麼是 Polygon 驗證者?

**Polygon 驗證者是指在一台機器上執行驗證者節點、在另一台機器上執行 sentry 節點,並質押 MATIC 代幣的人。**Polygon 驗證者會被隨機選中,於 Heimdall 層驗證交易。驗證者節點的架構與 sentry 節點類似,差別在於它是資料傳入與傳出 sentry 節點的方式。

什麼是 Polygon 節點供應商?

Polygon 節點供應商是為開發者提供 Polygon 節點 API 端點的公司,讓應用程式可以向 Polygon 區塊鏈發送請求並接收回傳資料,而無需自行執行 Polygon 節點。

雖然擁有自己的 Polygon 完整節點有一些好處,例如可自訂軟體客戶端,但相較於個人自行架設的 Polygon 節點,節點供應商在穩定性、速度與資料準確性方面提供顯著的優勢。擔心節點維護會耗費寶貴的工程時間,而節點供應商能解決這個常見的問題。

對應用程式而言,在為擴展規模與使用者需求進行建置時,選擇最佳的 Polygon 節點供應商是一項重要決策。從基礎設施角度來看,最關鍵的因素包括可擴展性、資料準確性、節點類型(例如完整節點、archive 節點等),以及支援的區塊鏈(若你計畫建置多鏈應用)。

從客戶角度來看,節點供應商是否有良好的定價、給力的開發者關係團隊、反應迅速的支援人員,以及更完善的開發者工具(如經過最佳化的 API 與 SDK),以有效滿足 web3 開發者的需求,同樣十分重要。

如何在 Alchemy 上連接 Polygon 節點

Polygon 官方文件中提供了如何使用 Alchemy 連接 Polygon 完整節點的完整說明,但以下是為了快速上手所整理的簡化版說明。

1. 註冊 Alchemy

Alchemy 提供免費方案,你可以快速在 Alchemy 開發者平台上建立免費的 Polygon 帳號,以使用 Alchemy Polygon API。

登入後的 Alchemy 儀表板
登入後的 Alchemy 儀表板

  1. 建立你的 Polygon 應用程式並產生 API 金鑰

成功建立 Alchemy 帳號後,你需要透過建立一個 app 來產生 API 金鑰。此金鑰用於驗證發送至 Polygon 主網或 Mumbai 測試網的請求。

若要產生新的 API 金鑰,請前往 Alchemy 儀表板導覽列的「Apps」分頁,並選擇「Create App」子分頁。

填寫完欄位並選擇測試網後,點選「Create app」。

你的新 app 應會顯示在下方的表格中。

Alchemy 儀表板中顯示新建立 Polygon 應用程式的 Apps 表格
新的應用程式出現在「Apps」表格中

若要取得 Alchemy 提供的自訂 Polygon RPC URL,請前往 Alchemy 儀表板中的該 app,並點擊右上角的「View Key」。

接著複製你的 Alchemy HTTPS API 金鑰,並將其貼入你的應用程式中。

注意: 使用 Alchemy Chain Connect 可以查看來自多個基礎設施供應商的公開 Polygon RCP URL

用於設定節點 Polygon RPC URL 的「View Key」選項
用於設定節點 Polygon RPC URL 的「View Key」選項

步驟 3. 設定 Polygon API 並開始建置

如果你使用 JavaScript 與 Node.js,只需安裝 Alchemy SDK、建立一個 Alchemy 物件,就能在短短幾行程式碼內開始發出 Polygon 節點請求。

  1. 使用以下指令建立專案:npm init -y
  2. 在終端機中執行以下指令安裝 SDK:npm install alchemy-sdk。
  3. 安裝 SDK 後,你便可以在專案中引入並使用它,如下所示搭配 Polygon 使用

有關設定 Alchemy SDK 的更多細節,請參考 SDK 快速入門指南

為 Polygon 節點專案匯入 Alchemy SDK 的程式碼片段
為 Polygon 節點專案匯入 SDK

使用 Polygon 節點供應商既簡單又具擴展性,讓各種技術水準的開發者都能開始投入 web3 開發。 ‍

Polygon 節點需求

若要執行 Polygon 完整節點,須符合一定的技術規格與軟體先決條件。目前的最低需求為 16-32 GB RAM 與 4-8 核心 CPU,以及最低可擴充至 1.2TB 的儲存空間。由於節點需要儲存的資料會隨著鏈上歷史增長而不斷增加,最低規格也將隨之提高。

此外,雖然 Polygon 指出任何作業系統都能正常運作,但他們強調像 CentOS 這類 Linux 伺服器發行版在安全性與穩定性方面,優於 MacOS 與 Windows。

如何架設 Polygon 完整節點

如果你不想使用 Polygon 節點供應商,而是想自行設定並維護 Polygon 節點,以下是你需要執行的步驟摘要。

1. 建置用於執行節點的機器

由於建議使用 Linux,你會需要一台執行 Linux 伺服器的機器來託管你的節點。你也可以透過命令列使用 Secure Shell(SSH)遠端連接 Linux 伺服器。請先查看硬體需求,並確保你的機器擁有足夠大的最低儲存空間與運算能力。

2. 下載先決條件

在軟體需求方面,須在裝有 Python 3.x 的機器上下載 Ansible,可透過以下指令下載:pip3 install ansible

此外,請確保你未曾安裝 Go 或先前的 Heimdall 與 Bor 設定,因為這些會與全新的安裝流程產生衝突。

3. 設定並執行你的節點

以下所有說明皆來自 Polygon 官方文件中關於設定並執行完整節點的說明。步驟摘要如下:

  1. 確認可存取遠端機器/虛擬機器,複製指定的儲存庫,並透過設定 IP 來驗證其功能是否正常
  2. 設定完整節點,進入遠端/虛擬機器,並設定 Heimdall 與 Bor 節點
  3. 執行完整節點並檢查日誌,確認節點是否已正確同步

使用 Alchemy 開始在 Polygon 上建置

Polygon 是一條快速成長的 Ethereum 側鏈,為開發者提供了快速、經濟且可擴展的區塊鏈,用於建置與 EVM 相容的應用程式。由於其規模、經濟性與低碳足跡,Polygon 已成為一些最大型 web2 公司的選擇,例如星巴克的全新會員忠誠計畫。

要開始在 Polygon 上進行建置,立即向 Alchemy 建立一個免費的 Polygon 開發者帳號

Background gradient

打造區塊鏈魔法

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