¿Por qué mi demonio bitcoind no escucha en el puerto RPC en 8332?

He leído una publicación similar que no tenía respuesta en esta ubicación . Estoy tratando de usar bitcoin-cli desde un host diferente del host que ejecuta bitcoind. También estaría feliz de poder usar curl para emitir solicitudes de rpc. He tenido mucho éxito al lograr que bitcoind y bitcoin-cli se comuniquen dentro del mismo host, pero la activación del puerto rpc para la comunicación externa ha demostrado ser más que difícil, si no imposible, y busco su ayuda.

He iniciado bitcoind con el siguiente archivo de configuración:

server=1
rpcuser=jared
rpcpassword=1234
rpcport=8332
rpcallow=192.168.*.*
gen=0
prune=600

(Nota, la contraseña se cambiará después de que el sistema esté funcionando)

He confirmado que el sistema funciona en la máquina local usando bitcoin-cli para obtener lo siguiente:

{
    "version" : 110200,
    "protocolversion" : 70002,
    "blocks" : 183745,
    "timeoffset" : -1,
    "connections" : 8,
    "proxy" : "",
    "difficulty" : 1583177.84744401,
    "testnet" : false,
    "paytxfee" : 0.00000000,
    "relayfee" : 0.00005000,
    "errors" : ""
}

Y desde otro host en la red, he usado nmap para escanear los puertos para mostrar:

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-19 15:20 PST
Nmap scan report for c161.attlocal.net (192.168.1.68)
Host is up (0.0014s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8333/tcp open  unknown

En la pregunta mencionada anteriormente, el usuario pudo hacer que se abriera el puerto rpc eliminando las líneas rpcallow de su archivo de configuración. Los comentó y el problema se solucionó solo. También he probado esto y no he tenido suerte.

También intenté usar rpcallow de '192.168.1.*', '192.168.0.0/16', '192.168.1.0/24' y una vez intenté usar rpcbind, que parece estar relacionado con una versión anterior de bitcoind tal como es. ya no figura en las páginas man de bitcoin.conf.

Mi sistema está ejecutando el siguiente sistema operativo:

Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily

¡Cualquier y toda ayuda es apreciada! Saludos cordiales, y gracias.

La sintaxis de comodines ya no es compatible, debe usar 192.168.0.0/16. ¿Qué netstat -antlp | grep 8332dice?
@NickODell, agregue su comentario como respuesta para que pueda darle crédito por resolver mi problema. El puerto RPC aún no se muestra como un puerto abierto en nmap, pero está claro que la aplicación bitcoin-cli se está comunicando con el host principal.

Respuestas (2)

Dos pensamientos:

  1. La sintaxis de comodín ya no se admite. En lugar de 192.168.*.*, use 192.168.0.0/16. En lugar de 192.168.1.*, use 192.168.1.0/24.

  2. Como paso de depuración adicional, intente ejecutar netstat -antlp | grep 8332. Si eso produce una salida como la siguiente, eso significa que está vinculado al puerto.

    tcp        0      0 0.0.0.0:8332             0.0.0.0:*               LISTEN 
    
Gracias. Después netstatresulta que mi nodo bitcoin escucha en el puerto 18332, no en el 8332.
¿Alguna vez descubrió por qué no usa el puerto proporcionado?

Además de permitir un rango de direcciones de red para los clientes, también debe agregar especificar rcpbind=server_ip_addresspara el servidor (donde se ejecuta su núcleo de bitcoin).

El valor predeterminado para rcpbindes 127.0.0.0y solo permite que RPC escuche en localhosty no en 0.0.0.0.

Para tener la capacidad de conectarse desde localhost y desde la red, agregue la configuración dos veces, como se muestra en el ejemplo :

server=1
rpcuser=bitcoin
rpcpassword=yourpassword

[main]
rpcbind=127.0.0.1
rpcbind=192.168.0.10
rpcallowip=127.0.0.1
rpcallowip=192.168.0.0/16

EDITAR: Alternativamente, en lugar de escribir la dirección específica del servidor, puede usar rcpbind=0.0.0.0para forzar a RPC a escuchar en 0.0.0.0. Esto es más flexible, pero luego depende únicamente rpcallowipde permitir solo conexiones locales.