Contract-Development
我是否必須在本地執行 geth 才能通過 web3.js 訪問 Rinkeby?
我使用 truffle 將一些契約遷移到
geth
Rinkeby 的本地實例。問題是我在防火牆後面,打開埠 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 網路。那可能行得通。