#chain #mempool #block #transaction #notifications #called #updated

bitcoinchain-notifications

当例如:交易被添加/移除到内存池、区块被连接/断开、区块顶被更新或链状态被刷新时进行通知的接口

2 个版本

0.1.16-alpha.02023 年 4 月 2 日
0.1.12-alpha.02023 年 1 月 19 日

#24 in #mempool

Download history 85/week @ 2024-03-11 111/week @ 2024-03-18 177/week @ 2024-03-25 184/week @ 2024-04-01 80/week @ 2024-04-08 109/week @ 2024-04-15 111/week @ 2024-04-22 102/week @ 2024-04-29 122/week @ 2024-05-06 101/week @ 2024-05-13 104/week @ 2024-05-20 63/week @ 2024-05-27 77/week @ 2024-06-03 83/week @ 2024-06-10 90/week @ 2024-06-17 111/week @ 2024-06-24

361 每月下载量
用于 41 个 crate (8 直接)

MIT 许可证

1MB
4K SLoC

bitcoinchain-notifications crate

BitcoinChain-Notifications crate 为 Bitcoin 客户端提供链通知。该 crate 包含了客户端可以订阅以接收比特币链各种变化通知的各种事件 trait 定义。

ChainNotifications trait 是监听链通知的主要 trait。该 trait 由其他 trait 组成,包括 TransactionAddedToMempoolTransactionRemovedFromMempoolBlockConnectedBlockDisconnectedUpdatedBlockTipChainStateFlushed。这些 trait 中的每一个都定义了一个用于监听特定类型事件的方法。

TransactionAddedToMempool trait 定义了一个在交易被添加到内存池时调用的方法。

TransactionRemovedFromMempool trait 定义了一个在交易从内存池中移除时调用的方法。

此通知会在交易因过期、大小限制、重组、冲突和替换等各种原因从内存池中移除时触发。

然而,当交易因为被包含在区块中被移除时,它不会触发。任何对因包含在区块中被移除的交易感兴趣的客户都可以通过 BlockConnected 通知了解这些交易。

BlockConnected trait 定义了一个在新的区块被连接到链时调用的方法。

BlockDisconnected trait 定义了一个在区块从链中断开时调用的方法。

UpdatedBlockTip trait 定义了一个在区块顶被更新时调用的方法。

最后,ChainStateFlushed trait 定义了一个在链状态被刷新时调用的方法。

所有这些 trait 都是为了在后台线程中使用而设计的。

要使用此crate,您可以在客户端代码中实现任何 traits,并将您的实现注册到客户端的通知系统中。当发生与您的实现匹配的链事件时,将调用相应的方法。

依赖项

~104MB
~885K SLoC