Die BITCOIND-RPC-Verbindung kann unter Ubuntu 12.04 oder Windows 7 nicht zum Laufen gebracht werden

OK, ich habe kürzlich versucht, Hilfe beim Herstellen einer Verbindung zu BITCOIND mit Ubuntu oder Windows 7 zu erhalten.

In Ubuntu (Virtual Machine unter Win7 64bit) 12.04 Desktop LTS habe ich Folgendes in meine BITCOIN.CONF-Datei geschrieben, die sich in $HOME/.bitcoin befindet:

server=1
rpcuser=hello1
rpcpassword=12345
rpcallowip=*

Ich führe BITCOIND mit folgendem Befehl aus:

./bitcoind --server --rpcuser=hello1 --rpcpassword=12345

Aber wenn ich versuche, eine Verbindung mit dem Ruby-Skript herzustellen (siehe https://bitcointalk.org/index.php?topic=85495.msg3773215#msg3773215 ), gibt es eine Fehlermeldung aus, dass keine Verbindung hergestellt werden kann.

Ebenso versuche ich unter Windows 7 das gleiche Verfahren und mit der NIRSOFT cports-App sehe ich, dass der Bitcoin-Daemon nur unter Port 8333 geöffnet wird, nicht unter 833 * 2 *, wie man es erwarten würde, wenn eine RPC-Verbindung aktiv wäre.

Ich habe den TCP/UDP-Port 8332-8333 in der Portweiterleitung des Routers geöffnet.

Was in aller Welt mache ich hier falsch? Warum kann ich mich nicht über RPC mit dem Bitcoin-Daemon verbinden?

==> ZUSÄTZLICHE FRAGE: Ich bin ziemlich neu bei Ubuntu; Wie überprüfen Sie offene TCP-Ports am Terminal in Ubuntu? (entspricht netstat in Windows)

Bonusfrage: Finden Sie bitte ein anderes Forum, wo Sie wahrscheinlich hören werden lsof -i.

Antworten (3)

Ich bin nicht damit vertraut, wie man es unter Windows ausführt, aber für Ubuntu 12.04 kann ich Ihnen helfen, zuerst sollten Sie Müll aus der conf-Datei entfernen, die sich im Ordner ~/.bitcoin mit dem Namen bitcoin.conf mit nur folgendem Text befinden sollte:

server=1
daemon=1
rpcuser=whatever
rpcpassword=whatever

^^ reicht

Um Bitcoin jetzt zum Antworten auf RPC-Aufrufe zu machen, sollten Sie jsonRPCClient-Dateien auf Ihrem Computer haben. Ich bin mit Ruby nicht vertraut, aber https://github.com/Textalk/json-rpc-client-ruby es zu tun. Ich hoffe, dies wird Ihnen helfen, das zu erreichen, wonach Sie suchen. Und die Bonusantwort für Linux: Sie können netstat -ntpl verwenden, um eine detaillierte Ansicht darüber zu erhalten, welches Programm welchen Port verwendet

Netstat(1) gibt Ihnen offene Ports (in diesem Fall lauschende TCP-Ports): netstat -lnt.

Um sicherzustellen, dass Sie wissen, welchen Port Ihr Bitcoin-Daemon verwendet, starten Sie ihn mit Parameter -rpcport. Verwenden Sie in Ihrem Beispiel genau -rpcport=8332und verwenden Sie dann denselben Port, wenn Sie eine Verbindung herstellen.

Port 8332 NICHT OFFEN. Kann mir hier BITTE jemand helfen? Wo läuft es schief?!?!
Versuchen Sie es einfach mit rpcuser, rpcpassword und server. Geben Sie rpcallowip nicht an (standardmäßig 127.0.0.1).

Die RPC-API von QT ist so eingestellt, dass sie standardmäßig auf TCP-Port 8332 lauscht.

Entferne alles aus deiner bitcoin.conf und belasse nur: rpcuser=hello1 rpcpassword=12345

Da Sie die Parameter rpcuser und rpcpassword in der Datei bitcoin.conf angegeben haben, müssen Sie sie nicht explizit im bitcoind-Initialisierungsbefehl angeben (Sie müssen sie von Ihrem Client senden, sobald der Daemon läuft).

Führen Sie in einer Eingabeaufforderung Folgendes aus: bitcoind.exe -daemon -debugnet -printtoconsole und öffnen Sie dann eine neue Eingabeaufforderung und geben Sie Folgendes ein: netstat -a , sobald die RPC-API auf Verbindungen wartet, sollten Sie Folgendes sehen: TCP 127.0.0.1:8332 myHostName :0 ZUHÖREN

Als Hinweis, rpcallowip=* gefährdet Ihren Server, daher würde ich Ihnen dringend empfehlen, die Verwendung sofort einzustellen.