暂无介绍
内存池mempool模块解读第三篇,这部分我主要研究mempool中的节点间Tx同步. 关键代码都位于`shared_mempool.rs`中.
[mempool模块](https://learnblockchain.cn/docs/libra/docs/crates/mempool/)对于Tx的管理核心全部集中在`TransactionStore`这个结构,他对外对接的是`CoreMemPool`结构. 从`TransactionStore`可以清楚看出缓冲池中Tx增删改查的逻辑. 作为缓冲池,我们先大致说一下这几个功能要考虑的问题.
Libra 内存池(Mempool)模块主要用于缓存未打包的合法交易,该模块和比特币,以太坊源码中的TxPool功能等价,只要包含两个功能: 1. 接收本地收到的Tx并验证 2. 和其他节点之间互相同步Tx. 因为Libra使用的是不会分叉的PBFT共识,所以缓冲池的实现以及管理要简单许多.
根据Libra的架构图,准入控制模块(AC:admission control,本文中简称AC模块)是位于验证器(Validator)与普通用户交互的入口。
这篇文章目的是打通Libra CLI 命令行工具与底层数据库模块libradb之间的关系 `Libra Cli `指的是 [Libra上的第一笔交易](https://learnblockchain.cn/docs/libra/docs/my-first-transaction/#克隆并编译-libra-core) 中提到的命令行工具。 `libradb` 指的是`storage/libradb`模块 。
Libra数据存储使用的RocksDB这个KV数据库.并且[Libra](https://learnblockchain.cn/docs/libra/docs/welcome-to-libra/)存储和以太坊基本上思路是一样的,就是一个MPT树来保存Libra这个超级状态机. 因为RocksDB中除了KV以外,还存在着ColumnFamilyName这一项,这个用起来有点像Bucket.
0 回答,0赞同