Буквально за несколько часов я установил биткойн-демон на своем сервере Ubuntu и протестировал его с помощью API, и он очень хорошо реагирует. Теперь я установил демон litecoin на тот же сервер и использовал скопированные те же файлы php с небольшими изменениями синтаксиса, такими как изменение имени пользователя, пароля и номера порта, но он не отвечает ни на какие вызовы API.
Содержание litecoin.conf:
server=1
daemon=1
rpcuser=my_username
rpcpassword=mypassword
rpcport=9332
Содержимое 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";
}
?>
Любая помощь в том, что я делаю неправильно здесь?
Я пытался понять, почему файл php не выдает никаких ошибок, если они есть, затем я обнаружил, что error_reporting в файле php.ini отключен после его включения. Я получил следующую ошибку при выполнении litecoin.php в браузере:
Предупреждение: fopen( http://...@myserveraddress.com:9332/ ): не удалось открыть поток: HTTP-запрос не выполнен! HTTP/1.1 403 Запрещено в /var/www/jsonRPCClient.php в строке 132
Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Невозможно подключиться к http://myuser:mypassword@myserveraddress.com:9332/ » в /var/www/jsonRPCClient.php:140 Трассировка стека: #0 /var/www /litecoin.php(12): jsonRPCClient->__call('getinfo', Array) #1 /var/www/litecoin.php(12): jsonRPCClient->getinfo() #2 {main} добавлено в /var/www /jsonRPCClient.php в строке 140
Сначала добавьте эту строку вlitecoin.conf
rpcallowip=127.0.0.1
Затем убедитесь, что вы добавили команду litecoin в свой путь.
sudo cp litecoind /usr/bin/litecoind
и что вы запускаете демон litecoin
litecoind -daemon
и протестировать с
litecoind getinfo
если все это работает, то JSON RPC должен работать нормально.
Если ничего из этого не работает, попробуйте настроить клиент, следуя этому руководству .
Также убедитесь, что ваши username
и password
согласуются с вашим PHP и litecoin.conf
потому что их нет в вашем примере.
Иногда эта ошибка возникает из-за передачи слишком большого количества символов в качестве rpcuser или rpcpassword в файле конфигурации. Я решил эту проблему, уменьшив длину rpcuser и пароля и удалив специальные символы.
Грег Хьюгилл
Хан Шахрукх
Грег Хьюгилл
пользователь11221
server=1
параметр из вашего litecoin.conf. Если значенияrpcuser
иrpcpassword
являются буквальными в приведенной выше конфигурации (чего я не ожидаю), они должны совпадать с вашей$litecoin
строкой (чего нет). Запуститеifconfig -a | grep 9332
, чтобы увидеть, есть ли прослушивающий порт для 127.0.0.1 (0.0.0.0 недостаточно).