Ich habe erfolgreich ausgeführt geth --rpc
, um einige Funktionen zu testen, aber ich brauche die personal
API, die laut dieser Antwort von IPC ausgeführt werden sollte.
Wenn ich laufe
geth --ipcapi "db,eth,net,web3,personal" --ipcpath /tmp/geth.ipc
Dadurch wird die IPC-Datei erstellt und Geth scheint ansonsten normal zu starten.
Ich habe die folgenden npm-Module installiert:web3
web3_extended
web3_ipc
Dann führe ich dies auf nodejs aus:
var web3_extended = require('web3_extended');
var options =
{
host: '/tmp/geth.ipc',
ipc: true,
personal: true,
admin: false,
debug: false
};
var web3 = web3_extended .create (options);
var coinbase = web3.eth.coinbase;
Die letzte Zeile gibt mir eine HTML-Antwort, die enthält
Your browser sent a request that this server could not understand.
und
Apache/2.4.12 (Ubuntu) Server at localhost Port 80
Diese Apache-Zeile lässt mich glauben, dass nodejs nicht einmal versucht, eine Verbindung über IPC herzustellen.
Warum nicht? Oder was ist sonst das Problem?
F: Warum kann ich keine Verbindung per IPC herstellen? Warum nicht? Oder was ist sonst das Problem?
A: Aus Ihrer HTML-Antwortnachricht geht hervor, dass Ihr Code derzeit die Version von web3_extended verwendet, die das IPC-Protokoll nicht unterstützt.
Können Sie überprüfen, ob Sie tjade273/web3_extended und NICHT The18thWarrior/web3_extended verwenden ?
Die erste wurde von der zweiten abgezweigt und beinhaltet die Handhabung des IPC-Protokolls. Aus tjade273/web3_extended/blob/index.js - Zeilen 7 bis 15 :
function create(options) {
if(options.ipc){
var client = new net.Socket();
web3.setProvider(new web3.providers.IpcProvider(options.host,client));
}
else{
web3.setProvider(new web3.providers.HttpProvider(options.host));
}
if (options.personal) {
während der ursprüngliche Code von The18thWarrior/web3_extended/blob/index.js - Zeilen 6 bis 9 :
function create(options) {
web3.setProvider(new web3.providers.HttpProvider(options.host));
if (options.personal) {
Spraff
Tjaden Hess
npm install web3_ipc
, um meine zu installieren, im Gegensatz zuweb3_extended
der anderen VersionPrashant Prabhakar Singh
web3_ipc
und nichtweb3_extended
? Wie in diesem Fall bekomme ich Fehlercannot find node module web3_extended
. Und wenn beide Knotenmoduleweb3_extended
und installiert werdenweb3_ipc
, erhalte ich denselben Fehler wieYour browser sent a request that this server could not understand.
Bitte helfen Sie!