curl devuelve una salida vacía cuando json-rpc

No puedo obtener una respuesta JSON-RPC a través de curl. Parece que no está aceptando solicitudes.

Mi bitcoin.conf

rpcuser=USER
rpcpassword=PASS
server=1
rpcport=9332

Demonio en ejecución

$ bitcoind -conf=~/.bitcoin/bitcoin.conf -daemon
Bitcoin server starting

Comprobando CLI

$ bitcoin-cli -conf=~/.bitcoin/bitcoin.conf getinfo
{
  "version": 140200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 0.00000000,
  "blocks": 439348,
  "timeoffset": 0,
  "connections": 8,
  "proxy": "",
  "difficulty": 254620187304.0614,
  "testnet": false,
  "keypoololdest": 1500029964,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00001000,
  "errors": ""
}

Curl de prueba

$ curl http://localhost:3333
curl: (7) Failed to connect to localhost port 3333: Connection refused

Por supuesto, el puerto está mal:

$ curl http://localhost:9332
JSONRPC server handles only POST requests

haciendo una publicación

$ curl http://localhost:8332 -H 'content-type:text/plain;' --data-binary ''

La salida siempre está vacía, no importa si agrego datos o usuario, contraseña. Siempre está vacío:

$ curl http://localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://USER:PASS@localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://USER:PASS@localhost:9332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}'
$ curl --user USER:PASS http://localhost:9332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}'

¿Alguna idea de por qué sucede esto? No se que mas probar.

¿Puede agregar la opción detallada y decirnos qué dice?-v / --verbose

Respuestas (3)

Si estás en Amazon AWS prueba esto:

setsebool -P httpd_can_network_connect 1

Tuve el mismo problema y me tomó horas darme cuenta de que el servidor estaba bloqueando las conexiones. Pensé que no era el problema porque mi grupo de seguridad de AWS lo permitía. Pero aparentemente el servidor lo estaba bloqueando directamente.

Para cualquiera que intente conectarse localmente a una billetera:

Me las arreglé para hacer que el mío funcionara localmente cambiando rpcallowipy rpcconnectdesde 127.0.0.1mi dirección IP local real (por ejemplo 192.168.0.2), parece que al usar predeterminado localhosto 127.0.0.1no siempre funciona.

agregue esto a bitcoin.conf

rpcallowip=0.0.0.0/0

permitir todas las ip

Esto es increíblemente inseguro. Solo debe permitir las direcciones IP desde las que se conectará.