Bitcoin JSON RPC no funciona en IP remota

no puedo hacer que funcione primero pude usar bitcoind en mi vps (localmente) pero cuando agregué rpcbind y allowip a mi bitcoin.conf ni siquiera puedo usar bitcoin-cli me está dando este error: error: Autorización fallida: Incorrecto rpcuser o rpcpassword mientras estoy usando exactamente el mismo pase de usuario que en mi configuración

curl me está dando una respuesta vacía en el puerto "8333" y la conexión se rechazó en el puerto 8332

aquí está mi bitcoin.conf [IP eliminada y usuario/contraseña]

(Estaba usando este antes cuando funcionaba localmente)

listen=1
server=1
rpcport=8332
prune=600
maxconnections=12
maxuploadtarget=20
rpcuser=XXXXX
rpcpassword=XXXXX
daemon=1
keypool=10000

ahora cuando intento que funcione en mi servidor remoto con esta configuración

# Generated by https://jlopp.github.io/bitcoin-core-config-generator/

# This config should be placed in following path:
# ~/.bitcoin/bitcoin.conf
server=1
# [core]
# Maintain a full transaction index, used by the getrawtransaction rpc call.
# Run in the background as a daemon and accept commands.
daemon=1
# Reduce storage requirements by only storing most recent N MiB of block. This mode is incompatible with -txindex and -rescan. WARNING: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, greater than 550 = automatically prune blocks to stay under target size in MiB).
prune=600

# [rpc]
# Accept public REST requests.
rest=1
# Bind to given address to listen for JSON-RPC connections. This option is ignored unless -rpcallowip is also passed. Port is optional and overrides -rpcport. Use [host]:port notation for IPv6. This option can be specified multiple times. (default: 127.0.0.1 and ::1 i.e., localhost, or if -rpcallowip has been specified, 0.0.0.0 and :: i.e., all addresses)
rpcbind=~MY REMOTE VPS PUBLIC IP~
# Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. RPC clients connect using rpcuser=<USERNAME>/rpcpassword=<PASSWORD> arguments. You can generate this value with the ./share/rpcauth/rpcauth.py script in the Bitcoin Core repository. This option can be specified multiple times.
rpcuser=XXXXXXX
rpcpassword=XXXXXXXX
# Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times.
rpcallowip=~MY HOST IP~
# Number of seconds after which an uncompleted RPC call will time out
rpcservertimeout=60

# [wallet]
# Legacy
addresstype=legacy
# Legacy
changetype=legacy
# Set key pool size to <n>. Recommended to use a large number for high volume non-HD wallets.
keypool=10000
# If paytxfee is not set, include enough fee so that transactions should confirm within <n> blocks
txconfirmtarget=3
# Broadcast transactions created by the wallet.
walletbroadcast=0
# Run a thread to flush wallet periodically.
flushwallet=0


# [Sections]
# Most options automatically apply to mainnet, testnet, and regtest networks.
# If you want to confine an option to just one network, you should add it in the relevant section.
# EXCEPTIONS: The options addnode, connect, port, bind, rpcport, rpcbind and wallet
# only apply to mainnet unless they appear in the appropriate section below.

maxconnections=12
maxuploadtarget=20

# Options only for mainnet
[main]

# Options only for testnet
[test]

# Options only for regtest
[regtest]

Respuestas (1)

Intente permitir llamadas RPC en una IP en particular o incluya en la lista blanca todas las IP, por ejemplo:

rpcallowip=0.0.0.0/0

Además, intente verificar debug.logsi la conexión apareció en el demonio que debería informar. Si no es así, probablemente haya problemas con el cortafuegos en el propio sistema.

solo para confirmar, ¿debería usar mi ip pública vps o su ip local en rpc bind?
¿Puede probar rpcbind=0.0.0.0y tratar de no usar ningún carácter especial en las credenciales? Si eso funciona, simplemente agregue una regla de firewall para asegurar el demonio.
Sí, la parte del firewall funcionó para mí, resultó que estaba bloqueando el puerto 8332, gracias :)