本文針對 Optimism 應用開發者分析了三種不同節點的優缺點,給出了設置不同節點的簡易教程

原文Which Optimism node is best? Public vs. Private vs. Self-Hosted

作者Alchemy

編譯:EthereumCN

原用標題(譯後):哪種 Optimism 節點更好?公共節點 vs. 私人節點 vs. 自託管節點

封面:Photo by GuerrillaBuzz Crypto PR on Unsplash

為了從 Optimism 檢索數據,dApp 需要通過 RPC(Remote Procedure Call,遠程過程調用)節點發送檢索請求。

在這篇文章,我們將探索 Optimism 上用於 web3 開發支持的不同類型的節點。

什麼是 Optimism?

Optimism 是以太坊二層(L2)的擴容解決方案,它利用 optimistic rollup 的這一技術解決方案使得每秒 2000 筆交易的處理成為可能。

Optimism 基於一套清晰的核心設計理念去設計以及維護他們的區塊鍊網絡。

  • 簡約性
  • 實用主義
  • 可持續性
  • 樂觀主義

什麼是 optimistic rollup?

optimistic rollup 通過將計算和數據儲存遷移至鏈下,利用以太坊的安全性來提升以太坊基礎層的吞吐量並改善它的網絡延遲。

Optimism 創造了一種在 L2 鏈上進行許多交易的 rollup 技術,將交易捆在一起。

接著,rollup 協議樂觀地假設了所有這些交易的有效性,並將打包的 rollup 交易捆提交至以太坊的一層(L1)鏈。

什麼是 Optimism 節點?

Optimism 節點是一個程序,運行在單個計算機上,讓構建者和交易員與 Optimism 區塊鍊網絡中的其他人連接。

Optimism 節點包括了兩個重要組件:數據傳輸層(the Data Transport Layer)和客戶端軟件

數據傳輸層(DTL)

數據傳輸層是 Optimism 和以太坊之間的聯繫。而託管在以太坊上的智能合約——(CanonicalTransactionChain,CTC)合約—— 包含著所有發布至 Optimism 區塊鏈的一系列區塊。

DTL 會通過檢索之前發布至 CTC 的區塊,定期在一個節點上構造 Optimism 區塊鏈。如果沒有 DTL,Optimism 的節點將無法及時獲取 L2 optimistic rollup 構造的區塊數據。

客戶端軟件

與 DTL 一起運行的是 Optimism 的客戶端軟件。

Optimism 的客戶端與 Geth(又稱 Go Ethereum)的原生版本幾乎一樣—— Geth 是最廣泛使用的以太坊客戶端。

就其本身而言,Optimism 和以太坊非常相似,都可以使用共享的 EVM,相似的計費結構和 gas 計量等。

在 Optimism 上開發的大好處就在於,大多數以太坊上運作的工具也能在 Optimism 上使用,幾乎不用修改代碼。

為什麼需要一個 Optimism 節點?

構建一個 Optimism 的應用程序需要通過 optimistic rollup 發布交易至 CTC。

此外,Optimism 節點允許 dApp 檢索關於 Optimism 區塊的數據。為了支持 Optimism 上高性能的 dApp,必須要有一個功能完善的節點。

Optimism 的節點類型

有幾種將 dApp 連接到 Optimism 節點的選擇,包括私人 Optimism 節點、使用 Optimism 公共 RPC 節點的端點,以及自行運行、自託管的節點。

大部分 Optimism 的開發者會使用如 Alchemy 等 Optimism 節點提供商的私人 RPC 端點,因為公共端點和自託管的節點都有許多的劣勢,包括低吞吐量、高設置開銷,並且需要更多的工程維護支持。

1. 公共 Optimism 節點

Alchemy 管理著 Optimism 主要的公共端點,它可以通過這個端點 URL: https://mainnet.optimism.io 訪問。

儘管公共端點也有技術支持,但 Optimism 強調公共 RPC 端點已經完全不適合產品級別的項目使用了。

Optimism 的公共端點會限速應用程序,而且經常只支持有限的 JSON-RPC 方法。

2. 私人 Optimism 節點提供商

如果 Optimism 公共節點吞吐量的不足限制著用戶的應用程序或交易,那麼 Optimism 節點的專門提供商的私人 Optimism RPC 端點則能讓工程師訪問可靠的、可擴展的 Optimism 節點。

Alchemy 是 Optimism 推薦的節點提供商,Alchemy 除了擁有 web3 中最可靠的 Optimism 節點性能之外,它提供 Optimism 的開發者以一系列的主機開發工具,包括 Alchemy Build、Minitor 和 Optimism webhooks,這些都是為了給予開發者最好的 Optimism 開發經驗而設計的。

如何使用 Alchemy 的私人 Optimism RPC 端點?

Alchemy 提供著強大的免費層,讓用戶能夠以一個可靠的私人 Optimism RPC 端點開始。

在 Alchemy 中創建一個新的 Optimism 應用

註冊後創建一個免費的賬戶或是登錄你現有的賬戶

點擊 dashboard 右上方 “ Create APP ” 的按鈕

Alchemy 開發者平台 dashboard

現在請填寫下列的部分,包括:

  1. 命名你的應用
  2. 填寫描述
  3. 選擇 “Optimism” 作為你的 “鏈”
  4. 選擇 “Optimism 主網” 作為你的網絡

如果你想要在 Optimism 的 Goerli 測試網上創建或遷移應用,你可以選擇 “網絡” 下拉式列表中的 Goerli 測試網。

使用 Alchemy 創建一個私人 Optimism RPC 端點

接下來,點擊 dashboard “ View Key(查看密鑰)” 的按鈕來查看你的 HTTPS 密鑰並開始發送請求至你的新節點上!

從 Alchemy 應用的 dashboard 上複製你的 Optimism RPC 端點的 URL

現在,請替換你應用中的 Optimism RPC URL,通過 Alchemy 專門提供的 Optimism 端點開始發送流量。

3. 自託管的 Optimism 節點

為了完成對自己節點的配置和實現的控制,開發者可能會選擇運行自己的 Optimism 節點(比如,自託管的節點)。

設置 Optimism 節點的第一步是確定自己的節點硬件。在這方面,Optimism 建議系統需要滿足:

  • 至少有 16 GB 的內存
  • 一個至少有 100 GB 可用空間 SSD(固態硬盤)

在確定硬件後,Optimism 提供商指定了兩種設置用戶自託管節點的方式:一種是使用 Docker 的配置,而另一種是不使用 Docker 的配置

以下是對兩種設置 Optimism 節點方式的總結。如果你決定要設置一個節點,可以跟著 Optimism 的節點配置指示。

(1) Docker 的配置

Optimism 推薦的設置自託管節點的方法就是使用他們的提供的 Docker 鏡像。

通過設置節點的 Dokcer 鏡像,你可以跳過很多配置步驟,因為該鏡像已經設置了大多數配置。

這裡是使用 Docker   配置步驟的簡要概述:

  1. 在你的計算機上克隆節點的 Github 倉庫
  2. 配置節點設置
  3. 運行自託管的 Optimism 節點

在第二步,你將必須提供多個其他節點,另一個 L2 Optimism 節點和 L1 的 RPC 節點。

另一個的 L2 Optimism 節點將會由你的 Optimism 節點用來驗證其正確性,而以太坊(L1)的 RPC 節點則用來檢查你的節點狀態根,並通過 CTC 從 L1 下載 L2 的區塊。

Optimism 建議使用 RPC 提供商的支持節點

使用這個 Docker 配置,你的節點將會從一些額外功能中受益,幫助你維護節點。

網絡健康檢測服務怎麼進行?

網絡健康檢測服務會定期把你的節點狀態和參考節點的狀態進行對比,確保你的節點正確進行同步。

錯誤檢測器會掃描來自 Optimism 定序者的交易並對比在你節點上計算的交易結果。

最後,本地託管的 dashboard 會讓你輕鬆地訪問基本的節點衡量標準,包括故障數據、DTL 同步等。

2. 非 Docker 配置

如果預先配置的 Docker 鏡像沒能為你提供足夠的自定義,Optimism 還描述了獨立設置節點的框架。然而,他們並不會推薦這種設置節點的方式。

儘管這些指示經過了測試,但是它們不如 Docker 配置方式那樣穩當。這個方法可能伴隨著設置節點功能不佳的風險。這個方法的指示如下:

1. 安裝需要運行 Optimism 節點的軟件包和工具

你想要安裝的軟件包和工具如下:

  • Libusb – Geth 用來檢查硬件錢包的庫
  • Node.js – 一段 Javascript 運行時間
  • Yarn – 一個常見的 Node.js 軟件包管理工具
  • Go – 節點運行的編程語言

2. 設置數據傳輸層

DTL 是節點軟件的第一部分。你會在這裡下載源代碼,編輯它的配置和運行這個層。

就像 Docker 配置的情況一樣,你將需要在這里為你的自託管 Optimism 節點提供另一個節點,讓它可以同步它的區塊。

一旦進行運行,你需要管理 DTL 以確保它與 Optimism 進行正確的同步。

3. 設置 Optimism 的客戶端

設置 Optimism 客戶端是你的自託管節點要做的第二部分。你必須編譯源代碼,下載和驗證來自 Optimism 創世節點的狀態,創建和配置它的環境,運行其配置並在最後開啟客戶端。

對於想要更多地控制自己的節點配置的專業 web3 開發者來說,運行自託管節點只是另外一種選擇。但是,比起使用 Optimism 節點提供商以及 Alchemy 等開發者平台,啟動和管理自託管節點是更加昂貴且耗費時間的選擇。

哪種 Optimism 節點最適合我?

在大多數情況下,通過 Alchemy 使用私人 Optimism 端點是最好的選擇。

公共 Optimism 端點不應該服務於產品級別項目的流量,除非你是專業的基礎設施工程師,不然你就不應該管理自己的 Optimism 節點。

即使你是 Optimism 上臨時的交易員或者的 dApp 用戶,用一個專門的 Optimism 端點來更新自己的 Metamask 錢包也可以為自己提供給更快且更可靠的服務。

從今天開始,在市場中使用強大的、免費的 Optimism 節點提供商層,用 Alchemy 來釋放你的 dApp 全部的力量。

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。