Cuando ejecuto mi archivo php desde la línea de comando, obtengo esto:
<pre>
PHP Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.0 401 Authorization Required
in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php on line 132
PHP Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://b:a@127.0.0.1:8332/' in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php:140
Stack trace:
#0 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->__call('getinfo', Array)
#1 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->getinfo()
#2 {main}
thrown in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php on line 140
Mi archivo php se ve así:
<?php
require_once 'jsonRPCClient.php';
$bitcoin = new jsonRPCClient('http://user:password@127.0.0.1:8332/',true);
#$param = array(
#'c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd',
#'1');
#$return1 = $bitcoin->getrawtransaction('c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd','1')
echo "<pre>\n";
print_r($bitcoin->getinfo()); echo "\n";
#print_r($return1['0']); echo "\n";
#echo "Received: ".$bitcoin->getreceivedbylabel("Your Address")."\n";
echo "</pre>";
?>
Mi página web con apache2 aparece en blanco y usa el archivo php que hice. Estoy usando el parámetro -txindex cuando ejecuto bitcoind.
Pero puedo usar bitcoin-cli para interactuar con bitcoind
Iv'e used:
bitcoin-cli getrawtransaction c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd 1
and:
bitcoin-cli getinfo
También mi bitcoin.conf se ve así:
rpcuser=user
rpcpassword=pass
txindex=1
server=1
También tenga en cuenta que sustituí los nombres de usuario y contraseñas para ocultarlos.
Mi pregunta es por qué puedo usar bitcoin-cli y no obtengo ningún error, pero cuando intento usar jsonRPCClient.php aparece el error 401 Se requiere autorización y ¿cómo soluciono el error?
Creo que esto está relacionado con este tema abierto.
https://github.com/bitcoin/bitcoin/issues/9661
Estaba ejecutando bitcoind en Ubuntu 16.
Tuve un problema similar cuando tenía rpcuser
y rpcpassword
en el archivo de configuración. Todo lo que obtuve es un error 401 cuando llamé a la API de jaon-rpc.
Encontré una solución proporcionando -rpcuser=REPLACED -rpcpassword=REPLACED
cuando lancé el archivo bitcoind.
Espero que esto sea útil.
Una cosa más, en lugar de depurar desde su cliente rpc en PHP. Tal vez intente con curl
primero. HTTP 401 claramente es un problema de autenticación, el uso curl
es mucho más fácil para la depuración.
Asegúrese de que su nombre de usuario y contraseña de RPC sean correctos, también asegúrese de que su nombre de usuario y contraseña no contengan la etiqueta (#).
Asegúrese de verificar qué bitcoin.conf
archivo de configuración bitcoind
está usando el daemon. Se muestra explícitamente en el arranque.
Esto surgiría si cambia la ruta de instalación predeterminada de bitcoin-core en la configuración.
De esta manera, no necesitará pasar el usuario/contraseña a través del inicio del servicio cli on.
Nick ODell
pass
en su archivo de configuración y estápassword
en su archivo de configuración. ¿Eso refleja el contenido de sus archivos config/php?Gemohn Herbile
Nick ODell
codificador morse
Gemohn Herbile
Gemohn Herbile