我有麻烦,因为我有一个使用PHP的网站,并且我正在使用一个库通过RPC与我的比特币服务器节点进行通信。
一切都很好,比特币可以与该网站进行通信。我正在使用命令
生成新的钱包getnewaddress "label"
然后,该比特币返回带有我通过RPC发送的标签的新比特币地址,它的工作原理非常好。问题是,我必须在接下来的15分钟内检查该钱包,如果用户提交带有“已付费”按钮的表单,则必须在15分钟后检查该钱包。如果该钱包具有正确的余额服务器,它将再次向他发送产品通过电子邮件。
[过去,我知道我们可以使用手表钱包,但是由于已经从RPC中删除了手表钱包,因此我在检查该钱包时遇到了麻烦,这是在x时间内使用PHP检查内容的最佳方法是什么?
我建议您定期运行比特币RCP命令listsinceblock
。跟踪您在数据库或缓存中签入的最后一个块,并以您喜欢的时间间隔(例如15分钟)运行此命令。自上次运行命令以来,这将返回所有新事务。
如果有交易,目标钱包地址将包含在命令响应中。
Wiki很好地解释了该命令:
listsinceblock [blockhash] [目标确认]
Get all transactions in blocks since block [blockhash], or all transactions if omitted. [target-confirmations] intentionally does not affect the list of returned transactions, but only affects the returned "lastblock" value.