Fehler: Anbieter nicht festgelegt oder ungültig

Ich kann Metamask nicht mit nodejs verbinden.

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!');
  }

Es zeigt den Fehler:

Fehler: Anbieter nicht festgelegt oder ungültig

Antworten (1)

Ich denke, die zweite Zeile Ihres Codes ist falsch. Versuchen Sie, dies zu entfernen:

var web3 = neues Web3 ();

Laut Dokument ist dies der richtige Weg, um eine Instanz von web3 zu erstellen

if (typeof web3 !== 'undefiniert') {
  web3 = neues Web3 (web3.aktueller Anbieter);
} anders {
  // Legen Sie den gewünschten Anbieter von Web3.providers fest
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

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

Ich habe dieses ausprobiert. Es geht zum Else-Teil (dh; testrpc). Alle Transaktionen sind abgeschlossen und können in testrpc eingesehen werden. Ich muss Transaktionen mit Metamask durchführen.
Metamask wird dem Client injiziert. Ich glaube nicht, dass Sie den Anbieter auf der Serverseite (NodeJS) erhalten können. Dieser Code funktioniert gut in Ihrer Benutzeroberfläche