Web3js
在沒有提供者的情況下從合約獲取數據到 DApp
我有一個使用元遮罩或霧作為提供者的 DApp。DApp 可以從合約中讀取一些資訊,並使用霧或元遮罩將其顯示在頁面上。是否可以在不使用元遮罩或霧的情況下讀取契約並顯示資訊?
我想我有幾個選擇:1)在專用伺服器上執行一個節點,然後打開預設 localhost:8545 以將其用作提供程序。但是會有很多安全問題…… 2)也許使用一些公共節點,如infura.io或blackapps.net(?)
我只是想知道正確的方法。謝謝你。
您可以在您提到的專用伺服器上執行乙太坊節點,而不是打開埠 8545 並直接與其通信,而是在該實例上創建一個 nodeJS API 伺服器(將使用 web3.js)並改為與該 nodejs 伺服器通信。
NodeJS 伺服器將在 web3.js API 的幫助下與乙太坊節點進行通信,這將使您的設計安全且無法從外部訪問乙太坊節點。
希望這可以幫助。
雖然它可能違背社區的“精神”,但我們發現使用節點即服務提供商(如 Infura 或Alchemy )要容易得多。使用乙太坊分叉和管理 Parity/Geth 中的錯誤時,必須管理自己的節點可能會讓人頭疼。