Как определить, есть ли в mainnet или testnet?

Можно ли выяснить, является ли сеть mainnet или testnet (Ropsten) из web3.js? Или через MetaMask?

24 голоса | спросил Hector 4 J0000006Europe/Moscow 2017, 18:41:51

5 ответов


23

До Web 1.0 вы можете использовать web3.version.getNetwork следующим образом:

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
    default:
      console.log('This is an unknown network.')
  }
})

WEB 1.0 :

Так как web 1.0 мы имеем web3.eth.net. getNetworkType который определяет сеть, к которой мы подключены.

web3.eth.net.getNetworkType()
.then(console.log);

Он возвращает имя сети:

  • "main" для основной сети
  • «morden» для тестовой сети morden
  • «ropsten» для тестовой сети morden.
  • «private» для неопределяемых сетей.
ответил Badr Bellaj 4 J0000006Europe/Moscow 2017, 19:27:58
7

web3.version.network или версия async web3.version .getNetwork () позволяют напрямую определять сетевой идентификатор из web3.js.

Использование как ожидалось:

var network = web3.version.network

Идентификаторы сети можно найти в этой теме.

ответил Matthew Schmidt 4 J0000006Europe/Moscow 2017, 19:09:57
7

Помимо ответа Бадра , есть еще две тестовые сети: Rinkeby и Kovan:

switch (networkId) {
  case "1":
    networkName = "Main";
    break;
  case "2":
   networkName = "Morden";
   break;
  case "3":
    networkName = "Ropsten";
    break;
  case "4":
    networkName = "Rinkeby";
    break;
  case "42":
    networkName = "Kovan";
    break;
  default:
    networkName = "Unknown";
}

UPDATE: [email protected] имеет web3.eth.net.getNetworkType([callback]) , чтобы получить имя сетевого имени

ответил szerte 8 PM00000020000002431 2017, 14:45:24
3

Для web3 1.0.0 вы должны сделать:

web3.eth.net.getId().then(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
    default:
      console.log('This is an unknown network.')
  }
})
ответил leonprou 12 MarpmMon, 12 Mar 2018 18:01:24 +03002018-03-12T18:01:24+03:0006 2018, 18:01:24
0
  

Можно ли выяснить, является ли сеть mainnet или testnet   (Ropsten) из web3.js?

Об этом было задано ранее, и на него можно ответить: Получение Go-Ethereum текущий идентификатор сети

В дополнение к этим предложениям вы можете посмотреть net_version RPC-вызов.

  

Или через MetaMask?

В главном всплывающем меню MetaMask отображается сеть, к которой вы подключены, в левом верхнем углу. Он также функционирует как раскрывающийся список, позволяющий выбрать, к какой сети вы хотите подключиться.

ответил Richard Horrocks 4 J0000006Europe/Moscow 2017, 19:04:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132