Contract-Development

我是否必須在本地執行 geth 才能通過 web3.js 訪問 Rinkeby?

  • December 8, 2017

我使用 truffle 將一些契約遷移到gethRinkeby 的本地實例。問題是我在防火牆後面,打開埠 8545 的希望很小,所以現在我無法讓我的 dApp 使用這些契約:(

但是,我是否必須使用本地實例geth才能通過 dApp 訪問部署到 Rinkeby 的合約?

換句話說,在我的 dApp 中,而不是:

window.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

我可以做類似的事情:

window.web3 = new Web3(new Web3.providers.HttpProvider("http:/api.rinkeby.io:8545"));

……或者類似的?

這裡的簡單解決方案是使用MetaMask並將其設置為指向rinkeby。然後程式碼只使用目前提供者:

window.web3 = new Web3(web3.currentProvider)

我不知道如何在您的確切程式碼中告訴您如何執行此操作,但此頁面顯示了 Infura 提供的各種網路:https ://infura.io/docs/ 。列出了 Rinkeby 網路。那可能行得通。

引用自:https://ethereum.stackexchange.com/questions/28883