需要从我的数据库验证用户已发送btc到我的钱包。
理想情况下,我希望为每个用户的交易生成一个唯一的地址,然后跟踪所有这些地址,但我认为由于地址差距限制,很难实现,所以我决定只要求用户提供他们的比特币地址,然后期望tx将资金从该地址转移到我的钱包,这样我就可以验证他们是否发送了资金。
我有自己的比特币节点,我想用它来追踪我钱包里的所有交易。
假设我想追踪所有的TX到我的钱包地址。
我遵循的是如何用ZEROMQ实现这一点的指南。我已经更新了bitcoind配置文件,以便可以通过zeromq侦听原始tx。下面是我的nodejs代码:
const bitcoin=require(’bitcoinjs-lib’);
const zmq=require(’zeromq’);
const sock=zmq.socket(’sub’);
常量地址=’tcp://127.0.0.1:3000′;
module.exports=函数(应用程序){
插座连接(地址);
sock.subscribe(’rawtx’);
sock.on(’消息’,函数(主题,消息){
if(topic.toString()==’rawtx’){
设rawTx=message.toString(’hex’);
设tx=bitcoin.Transaction.fromHex(rawTx);
设txid=tx.getId();
const address=bitcoin.address.fromOutputScript(tx.outs[0].script,bitcoin.networks.testnet);
console.log(“地址”,address)
console.log(’已接收事务’,txid,tx);
}
});
}
据我所知,当我从这段代码连接到实时网络中的节点时,我将收到关于网络中发生的所有TX的通知?
如何验证仅将资金转移到我的钱包的交易,并解码转移资金的地址?
有没有一些简单的方法来实现这一点,也许还有一些代码/项目的例子?
比特币
zeromq公司
节点
分享
改进这个问题
跟随
1月8日1点33分问
艾德克纳比特
1122枚青铜徽章
添加评论
1个答案
0
我做了几乎和你需要的一样的事情,为了完成这个任务,我创建了一个数据库,其中包含我想要监视的地址,并在fullnode的mempool上跟踪它们,我可以读取事务并检查每个事务,如果我的地址在那里,如果在那里,我记录txid以便进一步检查。如果传输在我的mempool中之前得到确认(我从来没有遇到过),但逻辑只是检查ZMQ发送的块,将所有事务刮除并查找任何地址。
分享
改进这个答案
跟随