Go-Ethereum
metamask 和乙太坊提供者的區別
我在網上找到了這張圖片,但我無法區分元遮罩和乙太坊提供者之間的區別。元遮罩也不使用提供商連接到網路嗎?我很困惑
是的,Metamask 在後台使用 Infura 連接到網路。所以 Metamask 是 Infura 服務之上的使用者界面。
然而,沒有什麼會強迫你使用 Metamask,它恰好對使用者互動很方便。但通常 dApp 也有與乙太坊的單獨後端連接:例如,後端需要讀取代幣餘額並將其呈現給使用者,因此後端使用直接 RPC 連接到某個乙太坊節點(或節點服務提供商,例如作為Infura)。
所以這一切都取決於你的需求。
您可能知道,乙太坊網路由每個節點組成
nodes
,每個節點都有一個區塊鏈副本。當我們想要與區塊鏈互動時,我們需要與這些節點之一進行互動。如果您想與節點對話,您要做的第一件事就是指定要與哪個節點對話。您可以設置自己的節點,也可以通過 Infura 和 Alchemy 等第三方服務使用其中一個節點。當您與區塊鏈互動時連接的這些節點,無論您是自己設置還是使用來自服務的現有節點,都稱為
providers
.通過提供者連接到區塊鏈後,您可以讀取區塊鏈的狀態,但要更改狀態並寫入區塊鏈,您需要
sign
消息。要簽署您需要的消息keys
。現在,如果您正在建構一個 dApp,儲存使用者密鑰或向他們索要它可能不是最好的主意。這就是Metamask
進來的地方。Metamask 是處理此密鑰管理的工具。最重要的是,它還提供了與區塊鏈的連接。這是因為 Metamask 已經與
nodes
Infura 提供的連接。因此,要連接到區塊鏈,只需向 MetaMask 詢問提供者(Infura 節點之一)。所以回答你的問題:
Provider
是您用來與區塊鏈互動的節點。- Metamask 是一個工具,它通過處理密鑰管理並將 dApp 與提供者連接起來,使 dApp 開髮變得容易。
有關更多詳細資訊,請參閱 MetaMask文件。