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
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á.
Caballero oscuro
Fibericon
Caballero oscuro
Fibericon
colisionador de mallas
Fibericon
Fibericon
colisionador de mallas
Fibericon
colisionador de mallas
Fibericon
m1xolyd1an
walletnotify=curl /home/userrunningbitcoind/transaction.sh %s