Ошибка: поставщик не указан или недействителен

Я не могу подключить метамаску к nodejs.

var Web3        = require('web3');
var web3        = new Web3();

if (typeof web3 !== 'undefined') {
// Use Mist/MetaMask's provider
 web3 = new Web3(web3.currentProvider);
 } else {
console.log('No web3? You should consider trying MetaMask!');
  }

Он показывает ошибку:

Ошибка: поставщик не указан или недействителен

Ответы (1)

Я думаю, что вторая строка вашего кода неверна. Попробуйте удалить это:

var web3 = новый Web3();

согласно документу, это правильный способ создать экземпляр web3

if (typeof web3 !== 'undefined') {
  web3 = новый Web3 (web3.currentProvider);
} еще {
  // устанавливаем нужного провайдера из Web3.providers
  web3 = новый Web3(новый Web3.providers.HttpProvider("http://localhost:8545"));
}

https://github.com/ethereum/wiki/wiki/JavaScript-API#adding-web3

Я попробовал этот. Он идет к другой части (т.е. testrpc). Все транзакции выполнены и могут быть просмотрены в testrpc. Мне нужно выполнить транзакцию, используя метамаску.
Метамаска вводится клиенту. Я не думаю, что вы можете получить провайдера на стороне сервера (NodeJS). Этот код будет хорошо работать в вашем пользовательском интерфейсе.