如何更改 bitcoind 的 RPC 埠?(bitcoin.conf 中的 rpcport=xxx 不起作用)
我正在執行一個 testnet bitcoind 節點,並且一直在預設埠 18332 上進行 RPC 呼叫。
我已將此行添加到 ~/.bitcoin/bitcoin.conf:
rpcport=19832
並重新啟動了 bitcoind 服務。我什至重新啟動了整個機器。
但由於某種原因,它仍然在埠 18332 上接受 RPC 呼叫,並且在埠 19832 上嘗試相同的操作會給出“連接被拒絕”。
它肯定是在使用 bitcoin.conf 中的設置,例如,如果我更改
rpcuser
或rpcpassword
(並再次重新啟動)我必須在 RPC 呼叫中使用新的使用者+密碼,舊的就不再起作用了。但不知何故,埠確實發生了變化。
難道我做錯了什麼?該設置是否稱為其他內容
rpcport=xxx
?我知道我可能還可以
bitcoind -rpcport=xxx
在啟動 bitcoind 時在 cmd 行(使用或其他東西)上手動定義埠,但我希望在 bitcoin.conf 中配置所有內容(它所屬的位置)並讓它全部自動啟動。PS我在本地主機上連接,即在機器本身上。我也在執行 ufw 防火牆,它被配置為接受 19832 和 18832 上的連接(所以絕對不是防火牆在這裡阻止了事情)。
(編輯)僅供參考,這是完整的 bitcoin.conf 文件:
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
以下是我執行 RPC 命令的方式:
curl http://XXXXXXXXX:XXXXXXXXX@localhost:18332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getwalletinfo","params":[]}'
localhost:18332
這工作正常,雖然注意它連接到18332。如果我改變localhost:19832
它不再工作(連接被拒絕)。如果我的版本是相關的,則
getwalletinfo
contains的結果"walletversion": 169900
。
找到解決方案:rpcport 需要在 [test] 部分
請將您的原始配置文件更新為:
測試網 = 1 伺服器=1 守護程序=1 交易指數 = 1 rpcuser=XXXXXXXXXXXXXXXXXXXXXXXX rpcpassword=XXXXXXXXXXXXXXXXXXXXX rpcallowip=127.0.0.1 onlynet=ipv4 zmqpubrawblock=tcp://127.0.0.1:28332 zmqpubrawtx=tcp://127.0.0.1:28333 [測試] rpcport=19832
並重新啟動守護程序。另請查看Can’t specify rpcport for testnet以了解對其他選項的相關更改。我們被警告在日誌文件中做什麼。
~/.bitcoin/testnet3/debug.log
包括行Warning: Config setting for -rpcport only applied on test network when in [test] section.
如果(我們閱讀了日誌文件!如果)範例 bitcoin.conf提到了現在需要的部分,我們本可以更快地了解這一點。
如果您可以將此作為勾選的解決方案,那就太好了!