首页 > 解决方案 > Laravel 上的 Bitcoind walletnotify 配置不起作用

问题描述

我已经成功配置了 bitcoind 并从 Laravel 应用程序连接了它。我现在的问题是,当新交易出现在内部生成的地址上时,不会触发 walletnotify。

比特币.conf

maxconnections=12
rpcuser=user
rpcpassword=pass
test.rpcport=18332
rpcallowip=0.0.0.0/0 --testing purposes
keypool=10000
server=1
testnet=1
txindex=1
walletnotify=/usr/bin/curl http://127.0.0.1/notify/%s

我也尝试过:

walletnotify=curl http://127.0.0.1/notify/%s

路线:

Route::get('/notify', 'HomeController@notify');

控制器:

public function notify($tx) {

        $txinfo = Bitcoind::getRawTransaction($tx, true);

        $txinfo = $txinfo->get();

        .....

    }

注意:区块链已同步。我已经检查了比特币的 debug.log,但 walletnotify 没有错误,或者至少应该运行 curl。

如果我手动调用路由并传递一个 txid,一切顺利。

提前感谢您的帮助!

标签: laraveljson-rpcbitcoind

解决方案


问题解决了!

下面的 WalletNotify 配置工作得很好。

walletnotify=curl http://127.0.0.1/notify/%s

问题是我在 HomeController 中构建了验证事务的函数,该函数由 AUTH 中间件保护。当我出于测试目的开始此操作时,我忘记了由 laravel 身份验证脚手架创建的 HomeController 的守卫。


推荐阅读