El demonio de Litecoin no responde a las llamadas a la API

Justo antes de unas pocas horas, configuré el demonio de bitcoin en mi servidor ubuntu y lo probé con la API y está respondiendo muy bien. Ahora instalé litecoin daemon en el mismo servidor y copié los mismos archivos php con algunos cambios de sytax como cambio en el nombre de usuario y la contraseña y el número de puerto, pero no responde a ninguna llamada API.

El contenido de litecoin.conf es:

server=1
daemon=1
rpcuser=my_username
rpcpassword=mypassword
rpcport=9332

Contenido de litecoin.php

<?php
include_once('jsonRPCClient.php');
$variable = $_GET['variable'];
$litecoin = new jsonRPCClient('http://my_user:my_password@127.0.0.1:9332/');
if($variable=='getnewaddress')
{
echo $litecoin->getnewaddress();
}
else if($variable=='getinfo')
{
print_r($litecoin->getinfo());
}
else
{
echo "hello";
}
?>

¿Alguna ayuda de lo que estoy haciendo mal aquí?

Estaba tratando de averiguar por qué el archivo php no arroja ningún error si hay alguno, luego descubrí que error_reporting en el archivo php.ini se desactiva después de encenderlo. Obtuve el siguiente error al ejecutar litecoin.php en el navegador:

Advertencia: fopen ( http://...@myserveraddress.com:9332/ ): no se pudo abrir la transmisión: ¡la solicitud HTTP falló! HTTP/1.1 403 Prohibido en /var/www/jsonRPCClient.php en la línea 132

Error fatal: excepción no detectada 'Excepción' con el mensaje 'No se puede conectar a http://myuser:mypassword@myserveraddress.com:9332/ ' en /var/www/jsonRPCClient.php:140 Rastreo de pila: #0 /var/www /litecoin.php(12): jsonRPCClient->__call('getinfo', Array) #1 /var/www/litecoin.php(12): jsonRPCClient->getinfo() #2 {main} lanzado en /var/www /jsonRPCClient.php en la línea 140

Está usando HTTP, por lo que puede usar un rastreador de paquetes IP para ver qué está pasando. ¿Tu conexión es aceptada por el servidor? ¿Responde el servidor con algún tipo de respuesta HTTP?
@GregHewgill He usado el mismo archivo con el demonio bitcoin con diferentes parámetros y funciona bien. Pero litecoin no funciona.
Sí, ya dijiste que no funcionaba, pero no has dado ninguna información que permita a nadie adivinar el motivo. Le sugiero un método para que haga algunos diagnósticos y descubra por qué no funciona.
Intente sacar el server=1parámetro de su litecoin.conf. Si los valores rpcusery rpcpasswordson literales en la configuración anterior (que espero que no), deberían coincidir con su $litecoincadena (que no es así). Ejecute ifconfig -a | grep 9332para ver si hay un puerto de escucha para 127.0.0.1 (0.0.0.0 no es suficiente).

Respuestas (2)

Primero agregue esta línea alitecoin.conf

rpcallowip=127.0.0.1

Luego, asegúrese de haber agregado el comando litecoin a su ruta

sudo cp litecoind /usr/bin/litecoind

y que estás iniciando el demonio litecoin

litecoind -daemon

y prueba con

litecoind getinfo

si todo eso funciona, entonces JSON RPC debería funcionar bien.

Si nada de eso funciona, intente configurar el cliente siguiendo esta guía .

También asegúrese de que su usernamey passwordsean consistentes en su PHP y litecoin.confporque no están en su ejemplo.

Descubrí que error_reporting estaba desactivado en mi archivo php.ini, por eso no mostraba ningún error, ahora que los encendí para ejecutar litecoin.php en mi servidor, muestra el siguiente error:

A veces, se produce este error porque al pasar demasiados caracteres como rpcuser o rpcpassword en el archivo de configuración, solucioné este problema al reducir la longitud del rpcuser y la contraseña y eliminar los caracteres especiales.