Walletnotify no funciona

Aquí está mi bitcoin.conf:

server=1
rpcallowip=127.0.0.1
rpcuser=userrunningbitcoind
rpcpassword=passwordofuserrunningbitcoind
rpcport=7788
walletnotify=/home/userrunningbitcoind/transaction.sh %s

Y aquí está mi transaction.sh, que ya he intentado ejecutar manualmente. Esto funciona sin problemas por sí solo:

#!/bin/sh
curl -d "txid=$1" http://127.0.0.1/api/process-payment

¿Qué más puedo intentar para que walletnotify funcione?

EDITAR:

También encontré esto en mi debug.log:

2018-01-19 05:49:22 Binding RPC on address 0.0.0.0 port 7788 failed.
2018-01-19 05:49:22 No rpcpassword set - using random cookie authentication
2018-01-19 05:49:22 Generated RPC authentication cookie /home/userrunningbitcoind/.bitcoin/.cookie
Debería estar funcionando, tenga en cuenta que solo se activará para la transacción a las direcciones en su billetera. ¿Has hecho una transacción? Para depurar lo que está sucediendo, puede ver .bitcoin/debug.log
@darkknight He realizado transacciones para intentar probarlo. El registro de depuración es enorme y parece estar lleno de mensajes no relacionados. ¿Cómo lo filtraría apropiadamente?
Busque la transacción.sh en el registro ... debería aparecer
grep -i "transaction.sh" debug.log no devolvió líneas. ¿Es posible que mi bitcoin.conf esté siendo ignorado?
@Fibericon, ¿ha intentado conectarse al RPC para ver si las otras configuraciones surtieron efecto?
¿Cómo probaría esto?
@MeshCollider Aparentemente no es vinculante para RPC. Por favor, vea mi edición.
Sí, si no se puede vincular el puerto, es más probable que sea un problema del servidor, tal vez intente con un puerto diferente
@MeshCollider Probé algunos puertos diferentes, pero nada.
¿Qué pasa con el puerto predeterminado? Tal vez sea un problema de permisos.
@MeshCollider Parece que el valor predeterminado es 8332 (cuando elimino la línea del puerto en bitcoin.conf), pero sigue dando el mismo error en debug.log
¿Has probado a rizarlo?walletnotify=curl /home/userrunningbitcoind/transaction.sh %s

Respuestas (2)

Recuerde reiniciar bitcoind nuevamente después de realizar cualquier cambio en el archivo bitcoin.conf. Parece que configuró una contraseña rpc en la configuración pero no reinició el servicio bitcoind. Tienes todo configurado correctamente, supongo.

El problema está aquí:

2018-01-19 05:49:22 Binding RPC on address 0.0.0.0 port 7788 failed.

si está usando rpcallowip, también necesita usar rpcbind. De manera predeterminada, las versiones recientes de BTC están limitadas a 127.0.0.1, por lo que no es necesario usar rpcallowip o rpcbind si su BitcoinD y su aplicación se ejecutan en el mismo servidor.

Entonces, o elimina rpcallowip de la configuración, o agrega rpcbind=0.0.0.0 y luego reinicia bitcoind. Además, cada vez que reinicia bitcoind, debe cargar la billetera, ya que se elimina la carga predeterminada de la billetera. Entonces, si la billetera no está cargada, walletnotify no funcionará.