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.
Dos pensamientos:
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
.
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
netstat
resulta que mi nodo bitcoin escucha en el puerto 18332, no en el 8332.Además de permitir un rango de direcciones de red para los clientes, también debe agregar especificar rcpbind=server_ip_address
para el servidor (donde se ejecuta su núcleo de bitcoin).
El valor predeterminado para rcpbind
es 127.0.0.0
y solo permite que RPC escuche en localhost
y 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.0
para forzar a RPC a escuchar en 0.0.0.0
. Esto es más flexible, pero luego depende únicamente rpcallowip
de permitir solo conexiones locales.
Nick ODell
netstat -antlp | grep 8332
dice?jared clemencia