Error: proveedor no establecido o no válido

No puedo conectar metamask con 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!');
  }

Me esta mostrando el error:

Error: proveedor no establecido o no válido

Respuestas (1)

Creo que la segunda línea de tu código está mal. Intenta eliminar esto:

var web3 = nuevo Web3();

según doc, esta es la forma correcta de crear una instancia de web3

if (tipo de web3 !== 'indefinido') {
  web3 = new Web3(web3.currentProvider);
} demás {
  // establezca el proveedor que desea de Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

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

Probé este... Va a la otra parte (es decir, testrpc). Todas las transacciones se realizan y se pueden ver en testrpc. Necesito hacer una transacción usando metamask.
Metamask se inyecta al cliente. No creo que pueda obtener el proveedor dentro del lado del servidor (NodeJS). Ese código funcionará bien en su interfaz de usuario