Ropsten

將 web3 從 localhost 更改為 Ropsten

  • January 18, 2022

我有一個與 testrpc 上的智能合約對話的網頁。我連接使用: web3 = new Web3(new Web3.providers.HttpProvider(" http://localhost:8545 “));

我已經使用 Metamask 將我的合約部署到 Ropsten 測試網路。如何更改我的網頁以指向 Ropsten 測試網路?是否像將網址從“localhost”更改為 Ropsten 網址一樣簡單?

謝謝!

如果本地主機上的 Geth 節點位於 Ropsten 網路上,即您使用 networkid 3 啟動 geth,那麼您的網頁將預設指向測試網路 (Ropsten)

編輯:當我在 Metamask 外掛上玩了一下時,我可以看到如何改變在此處輸入圖像描述

除非您嘗試連接在 Robsten 上執行的遠端乙太坊客戶端,否則 Localhost 與您的問題無關。看起來您正在使用 Metamask 的外掛作為乙太坊客戶端(您也可以使用 Geth 或 Parity)。如果這是您的情況,您將繼續使用 localhost 連接您的乙太坊客戶端並更改檢查區塊鍊網路,因為它記錄在MetaMask 的 Github 儲存庫中:

web3.version.getNetwork((err, netId) => {
 switch (netId) {
   case "1":
     console.log('This is mainnet')
     break
   case "2":
     console.log('This is the deprecated Morden test network.')
     break
   case "3":
     console.log('This is the ropsten test network.')
     break
   case "4":
     console.log('This is the Rinkeby test network.')
     break
   case "42":
     console.log('This is the Kovan test network.')
     break
   default:
     console.log('This is an unknown network.')
 }
})

如果您使用的是 Geth 客戶端,則需要使用 :--testnet 標誌執行您的 Geth 客戶端,或者如果您使用的是奇偶校驗,則需要使用--chain ropsten標誌。檢查文件以進一步閱讀。

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