如何处理交易中的比特币费用

时间:2020-04-14 19:19:12

标签: node.js blockchain bitcoin

问题

我正在开发一个交易所,用户可以在其中存入和提取其BTC。我会像Coinbase和其他交易所一样为每笔交易收费。我很难弄清楚该如何解决,这是我认为可能可行的解决方案,但提出了一些问题。

场景

让我们考虑这种情况:

  • A =客户钱包=余额2 BTC
  • B =目标钱包=余额0 BTC
  • C =费用钱包=余额0 BTC

钱包 A 要向钱包 B 发送2个BTC,但余额不足,因为交易金额必须为 AMOUNT_TO_SEND +( BLOCKCHAIN_FEE + BITGO_FEE )。

因此,为了为每笔交易设置固定的费用,并能够告诉客户他可以从钱包A发送的最大金额是多少,我需要一种方法来计算此费用金额。 Bitgo有一个getEstimateFee方法,该方法返回估算费用,因此我可以按以下方式建立费用:TOTAL_FEE = ESTIMATE_BITGO_FEE +( ESTIMATE_BITGO_FEE * 2)(这是我想要向我的客户收取2倍的比特币手续费,然后将其发送到我将设置为收取交易费用的费用钱包中)。此费用必须大于bitgo费用,所以交易永远不会失败,因为我发现由于资金不足而从Bitgo收到错误。

通过这种方式,我总是可以限制客户可以发送的金额(AVAILABLEBALANCE-TOTAL_FEE),然后在执行交易时,区块链将能够收取其费用,而Bitgo则可以收取。因此,假设TOTAL_FEE = 0.5 BTC,所以 A 可以发送的最大钱包为1.5 BTC。剩余的0.5 BTC将用于Bitgo费用,剩余的将用于费用钱包(钱包 C

问题

  • 如何将剩余费用退还到我的钱包 C (费用钱包)?
  • 这种情况有意义吗?
  • 我还有其他方法可以解决此问题吗?

感谢您的宝贵时间。

0 个答案:

没有答案