追踪比特币交易

问题描述 投票:0回答:2

我想在没有任何第三方帮助的情况下实现比特币支付网关。所以我的想法是,我将公共地址提供给用户,并使用任何 API 检查该地址的余额。

但是有一个问题,我如何知道哪个用户向该地址发送了多少钱。例如,我向 2 个用户提供我的公共地址。他们俩买了同样的东西。一个付了钱,另一个没有付。如何检测哪个用户付款了?

我想为每个订单生成一个新地址并不是一个好主意。

payment bitcoin cryptocurrency
2个回答
0
投票

为了做到这一点,我不会仅仅依赖比特币地址。 我将使用我的钱包地址之一、我想要接收的聪数量以及交易 OP_RETURN 中的唯一 ID(客户 ID)生成一笔交易。 伪代码将如下所示:

// server side
transaction = create_transaction()
transaction.add_output(destination_address, amount_in_satoshis)
transaction.add_output(OP_RETURN, "PAYMENT_ID")

// in client side 
transaction.sign(private_key)
send_transaction(transaction)

只要确保 OP_RETURN 大小小于 80 字节即可


-1
投票

我想为每个订单生成一个新地址并不是一个好主意。

这实际上是最好的想法,以及它如何在其他地方实施。您应该为每笔交易创建一个新地址。 BIP32详细介绍了大多数钱包使用的从单个主密钥创建多个地址的方法。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.