Dapps
保護對 web3 提供者的訪問的常用方法是什麼?
大多數 dapp 都需要瀏覽器中的 web3 提供程序實例。似乎通常通過直接連接到 Infura 或 Alchemy 節點 URL 來實現(例如,在 WalletConnect 文件中:https ://docs.walletconnect.org/quick-start/dapps/web3-provider )。
Infura 和 Alchemy 對節點的使用收費,因此直接在 webapp 程式碼中嵌入節點 URL 似乎有點不安全 - 任何人都可以從程式碼中提取 url(使用密鑰),然後將其用於自己的項目(或只是通過收取巨額節點使用費使 dapp 所有者受苦)。
我是不是誤會了什麼?處理這種情況的常用方法是什麼?
首先,有時根本不需要單獨的提供程序。如果您希望使用者擁有一個瀏覽器錢包(例如 Metamask),那麼該錢包已經有自己的連接,您可以簡單地利用它來至少讀取區塊鏈數據。
如果您不希望(所有)使用者擁有(或啟用)瀏覽器錢包和/或希望使用單獨的後台提供程序,那麼常見的方法是以不向使用者公開的方式使用提供程序,這樣使用者就不會看到使用的提供者密鑰/秘密。通常發生這種情況是因為網站本身不直接使用提供者,而是向使用提供者的後端發送請求 - 後端發送的提供者查詢對前端不可見。