Ich betreibe einen Testnet-Bitcoind-Knoten und habe RPC-Aufrufe auf dem Standardport 18332 durchgeführt.
Ich habe diese Zeile zu ~/.bitcoin/bitcoin.conf hinzugefügt:
rpcport=19832
Und den Bitcoin-Dienst neu gestartet. Ich habe sogar die ganze Maschine neu gestartet.
Aber aus irgendeinem Grund akzeptiert es immer noch RPC-Aufrufe auf Port 18332, und der Versuch, dasselbe auf Port 19832 zu versuchen, gibt "Verbindung abgelehnt".
Es verwendet definitiv die Einstellungen in bitcoin.conf, zum Beispiel wenn ich ändere rpcuser
oder rpcpassword
(und neu starte) muss ich den neuen Benutzer + Passwort in RPC-Aufrufen verwenden, die alten funktionieren nicht mehr.
Aber irgendwie ändert sich der Port.
Mache ich etwas falsch? Heißt die Einstellung anders als rpcport=xxx
?
Ich weiß, dass ich den Port wahrscheinlich auch manuell in der cmd-Zeile definieren kann (mit bitcoind -rpcport=xxx
oder so), wenn ich Bitcoin starte, aber ich möchte alles in bitcoin.conf konfiguriert haben (wo es hingehört) und alles automatisch gestartet haben.
PS Ich verbinde mich auf localhost, dh auf der Maschine selbst. Ich verwende auch die ufw-Firewall und sie ist so konfiguriert, dass sie Verbindungen sowohl auf 19832 als auch auf 18832 akzeptiert (es ist also definitiv nicht die Firewall, die hier Dinge blockiert).
(bearbeiten) Zu Ihrer Information, hier ist die vollständige bitcoin.conf-Datei:
testnet=1
server=1
daemon=1
txindex=1
rpcuser=XXXXXXXXXXXXXXXXXXXXXXX
rpcpassword=XXXXXXXXXXXXXXXXXXX
rpcallowip=127.0.0.1
rpcport=19832
onlynet=ipv4
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
Und so führe ich RPC-Befehle aus:
curl http://XXXXXXXXX:XXXXXXXXX@localhost:18332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getwalletinfo","params":[]}'
Dies funktioniert OK, obwohl es eine Verbindung zu 18332 herstellt. Wenn ich hineinwechsel, localhost:18332
funktioniert localhost:19832
es nicht mehr (Verbindung abgelehnt).
Falls meine Version relevant ist, getwalletinfo
enthält das Ergebnis von "walletversion": 169900
.
Lösung gefunden: rpcport muss sich im Abschnitt [test] befinden
Bitte aktualisieren Sie Ihre ursprüngliche Konfigurationsdatei wie folgt:
testnetz=1 server=1 Dämon=1 txindex=1 rpcuser=XXXXXXXXXXXXXXXXXXXXXXX rpcpassword=XXXXXXXXXXXXXXXXXXX rpcallowip=127.0.0.1 onlynet=ipv4 zmqpubrawblock=tcp://127.0.0.1:28332 zmqpubrawtx=tcp://127.0.0.1:28333 [prüfen] rpcport=19832
Und starten Sie den Daemon neu. Werfen Sie auch einen Blick auf Rpcport kann nicht für Testnet angegeben werden, um verwandte Änderungen an anderen Optionen zu erfahren. Wir wurden in der Protokolldatei gewarnt, was zu tun ist. ~/.bitcoin/testnet3/debug.log
beinhaltet die LinieWarning: Config setting for -rpcport only applied on test network when in [test] section.
Wir hätten dies schneller aufgreifen können, wenn (wir haben die Protokolldatei gelesen! Und wenn) das Beispiel bitcoin.conf erwähnt hätte, dass jetzt Abschnitte erforderlich sind.
Wäre toll, wenn Sie dies stattdessen zur angekreuzten Lösung machen könnten!
Es sieht nach einem Fehler aus: Ich habe das gleiche Verhalten auch auf meinem Computer mit der aktuellen Version repliziert, die Bitcoin Core Daemon version v0.17.99.0-g2945492424934fa360f86b116184ee8e34f19d0a
frisch von github heruntergeladen wurde. Ich stelle jedoch fest, dass @Зелёный oben nicht in der Lage war, es zu replizieren, also befindet sich der Fehler vielleicht in einer Bibliothek, die Sie und ich teilen, und er tut es nicht, anstatt in Bitcoin. Sicherlich gibt es dort keine offenen Fragen, die relevant erscheinen.
Ich werde die Quelle durchsuchen, um zu sehen, ob ich erkennen kann, was passiert. Je nachdem, was ich finde, könnte ich ein Problem mit ihnen eröffnen. Lassen Sie es mich hier wissen und ich werde Sie auf dem Laufenden halten.
In der Zwischenzeit würde ich vorschlagen, -rpcport=19832 zu Ihrer Befehlszeile hinzuzufügen - es wurde hier immer beachtet!
-rpcport=19832
Ich habe es auf der Befehlszeile zum Laufen gebracht (ich habe es hinzugefügt /etc/systemd/system/bitcoind.service
) 👍
Philidor
bitcoind
bei dir? Könnten Sie auch versuchen, nur diese conf-Datei auszuführen? pastebin.com/mKWmKs00 , versuchen Sie es auch mit127.0.0.1
stattlocalhost
imcurl
Befehl.RucolaNüsse
sudo systemctl start bitcoind
odersudo systemctl restart bitcoind
. Versuchte Ihre bitcoin.conf-Datei (und änderte den Benutzernamen und das Passwort in etwas Neues, also bin ich sicher, dass diese .conf-Datei verwendet wird) und startete den Dienst neu, aber leider das gleiche Ergebnis: Es erlaubt die Verbindung auf 18332 (mit neuem Benutzer & pasw), aber nicht auf 19832. Auch versucht127.0.0.1
stattlocalhost
mitcurl
, aber wieder kein Unterschied. Seltsam oder?Philidor
systemctl cat bitcoind.service
.RucolaNüsse
systemctl cat bitcoind.service
: pastebin.com/raw/JQS0yuJH Vielen Dank für Ihre Hilfeversuche. Nur um sicherzugehen, Sie testen auch mit testnet? (kein Mainnet?)Philidor
RucolaNüsse
getwalletinfo
ist auch 169900?Philidor
RucolaNüsse
Alistair Mann
Alistair Mann
RucolaNüsse
sudo systemctl status bitcoind
100% sicher sein, dass er gestoppt wurde) und dann manuell starten,lsof
ist die Ausgabe dieselbe (gut, andere Prozess-IDs, aber die drei Listen-Ports sind gleich.Alistair Mann