Bitcoin-Core

如何更改 bitcoind 的 RPC 埠?(bitcoin.conf 中的 rpcport=xxx 不起作用)

  • February 8, 2019

我正在執行一個 testnet bitcoind 節點,並且一直在預設埠 18332 上進行 RPC 呼叫。

我已將此行添加到 ~/.bitcoin/bitcoin.conf:

rpcport=19832

並重新啟動了 bitcoind 服務。我什至重新啟動了整個機器。

但由於某種原因,它仍然在埠 18332 上接受 RPC 呼叫,並且在埠 19832 上嘗試相同的操作會給出“連接被拒絕”。

它肯定是在使用 bitcoin.conf 中的設置,例如,如果我更改rpcuserrpcpassword(並再次重新啟動)我必須在 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它不再工作(連接被拒絕)。

如果我的版本是相關的,則getwalletinfocontains的結果"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提到了現在需要的部分,我們本可以更快地了解這一點。

如果您可以將此作為勾選的解決方案,那就太好了!

引用自:https://bitcoin.stackexchange.com/questions/84351