Serverseitige Web3-Probleme bei der Verbindung mit Ganache

Ich muss einen Server in nodejs erstellen, der eine Transaktion zur Blockchain erstellt, und ich habe Probleme, meine nodejs-App mit Ganache zu verbinden. Schau dir meinen Code an:

const Web3 = require('web3');
var web3 = new Web3.providers.HttpProvider('http://localhost:7545'); // ganache address
console.log(web3.eth.accounts); // should print 10 accounts but its error like eth is undefined

In meinen Abhängigkeiten

"web3": "^0.20.2"

Die Verwendung dieses Codes auf Clientseite funktioniert, was fehlt mir?

Läuft Ganache auf dem Server?
Server ist mein Laptop, also ja
Hilft wahrscheinlich nicht, aber versuche eshttp://127.0.0.1:7545
nichts geändert, ich frage mich, ob meine Web3-Version in Ordnung ist?
Ich habe das gleiche Problem, bitte helfen Sie ! [Bildbeschreibung hier eingeben ] ( i.stack.imgur.com/86ACs.png )
Wenn Sie auf Stackexchange keine Lösung für Ihr Problem gefunden haben, ist es besser, eine separate Frage mit weiteren Details zu stellen.
Das beantwortet die Frage nicht wirklich. Wenn Sie eine andere Frage haben, können Sie diese stellen, indem Sie auf Frage stellen klicken . Sie können auch ein Kopfgeld hinzufügen , um mehr Aufmerksamkeit auf diese Frage zu lenken, sobald Sie genügend Ruf haben . - Aus Bewertung
Eine mögliche Lösung, die ich an meinem eigenen SO durchgearbeitet habe und die möglicherweise mit dieser Frage zusammenhängt oder nicht.

Antworten (1)

Diese Zeile ist falsch:

var web3 = new Web3.providers.HttpProvider('http://localhost:7545');

Sie instanziieren einen Anbieter, anstatt Web3. Das sollte es sein:

var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:7545'));