Json-Rpc
在 RPC api 上收聽付款的最佳做法是什麼?
我有一個執行比特幣節點的 docker 實例,並且想監聽存款,每次使用者請求存款時生成一個新地址,然後在成功時增加使用者帳戶餘額。
比特幣具有
walletnotify
這樣的功能,當您在錢包中擁有的地址收到交易時會通知您,並在交易確認時發出第二次通知。你可以在你的
bitcoin.conf
walletnotify= curl http://yoururl.com/endpoint.php?tx=%s
%s
將包含交易ID。你從那裡做什麼取決於你。
除了
walletnotify
回調之外,這些是您將使用的 JSON RPC 呼叫:
- <https://developer.bitcoin.org/reference/rpc/getreceivedbyaddress.html>
- <https://developer.bitcoin.org/reference/rpc/listreceivedbyaddress.html>
- <https://developer.bitcoin.org/reference/rpc/gettransaction.html>
要使這些呼叫生效,您需要創建相應的錢包或將其導入比特幣核心。設置它也是一個好主意,
txindex=1
這樣您就可以將預先存在的錢包添加到 Core add hoc。PS 根據您的具體案例,最好使用現有的開源、自託管解決方案,如傳奇的BTCPay 伺服器或更新的CypherpunkPay(披露:作者)。