扫描比特币内存池进行交易的最佳方式是什么?

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

正如标题所说,扫描比特币内存池进行交易的最佳方式是什么?

我们可能会想出一些方法:

  1. 不要扫描内存池,只需向 Bitcoin-RPC 询问您想要的地址的新交易。
  2. 每隔几秒扫描内存池中的每笔交易,并查找与您的应用程序相关的交易。

方法 1:

乍一看似乎是正确的,但是,对于大多数应用程序来说,这并不是一个好方法。为什么?因为它不可扩展。如果您有 100 万个活跃用户,并且每个用户有 1 个地址怎么办? (别告诉我这不会发生,它确实发生在我身上,也许不是一百万,而是几千,而且这种方法对我来说不再有效,它太慢了,所以迫使我将我的应用程序切换到方法2号)


方法 2:

每隔几秒扫描内存池中的新交易,并在其中找到您的交易。 它运行良好、可扩展且速度快。 但这里有一个大问题。如果网络繁忙并且内存池中有 15 万笔交易怎么办? 好吧,这里我们可以使用缓存,并且不再每次都检查重复的事务。效果很好,差不多。为什么几乎?因为当网络繁忙时,每秒都会收到数百个新交易。你需要向比特币核心发送一个请求,让它们中的每一个都获取他们的数据并读取它们,看看它们是否是你的。比特币-RPC方法

getrawmempool
仅返回交易哈希而不返回数据。所以每秒发送数百个新的 HTTP 请求有点慢。


你知道如何改进吗?

或者也许是检查新交易地址的更好方法?!

bitcoin cryptocurrency
1个回答
0
投票

探索区块链数据提供商(例如 Blockstream 的 Esplora 或其他类似解决方案)提供的服务。这些提供商提供 API 和 WebSocket 连接,旨在实现高效的区块链数据访问。

© www.soinside.com 2019 - 2024. All rights reserved.