作者:Alchemy
來源:alchemy.com
為了從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
現在請填寫下列的部分,包括:
-
命名你的應用
-
填寫描述
-
選擇“Optimism”作為你的“鏈”
-
選擇“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 配置步驟的簡要概述:
-
在你的計算機上克隆節點的Github 倉庫
-
配置節點設置
-
運行自託管的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 全部的力量。