Libra 源码分析:内存池mempool模块解读-3

内存池mempool模块解读第三篇,这部分我主要研究mempool中的节点间Tx同步. 关键代码都位于shared_mempool.rs中.

  • 白振轩
  • 发布于 2019-07-05
  • 阅读 ( 6863 )
  • ( 20 )

Libra 源码分析:内存池mempool模块解读-2

mempool模块对于Tx的管理核心全部集中在TransactionStore这个结构,他对外对接的是CoreMemPool结构. 从TransactionStore可以清楚看出缓冲池中Tx增删改查的逻辑.

作为缓冲池,我们先大致说一下这几个功能要考虑的问题.

  • 白振轩
  • 发布于 2019-07-04
  • 阅读 ( 7314 )
  • ( 20 )

Libra 源码分析: 内存池mempool模块解读-1

Libra 内存池(Mempool)模块主要用于缓存未打包的合法交易,该模块和比特币,以太坊源码中的TxPool功能等价,只要包含两个功能:

  1. 接收本地收到的Tx并验证
  2. 和其他节点之间互相同步Tx.

因为Libra使用的是不会分叉的PBFT共识,所以缓冲池的实现以及管理要简单许多.

  • 白振轩
  • 发布于 2019-07-03
  • 阅读 ( 8769 )
  • ( 20 )

Libra 源码分析:Libra 的准入控制(AC)模块

根据Libra的架构图,准入控制模块(AC:admission control,本文中简称AC模块)是位于验证器(Validator)与普通用户交互的入口。

  • 白振轩
  • 发布于 2019-07-02
  • 阅读 ( 8010 )
  • ( 20 )

Libra 源码分析:打通Libra CLI客户端与libradb模块

这篇文章目的是打通Libra CLI 命令行工具与底层数据库模块libradb之间的关系 Libra Cli指的是 Libra上的第一笔交易 中提到的命令行工具。 libradb 指的是storage/libradb模块 。

  • 白振轩
  • 发布于 2019-07-01
  • 阅读 ( 7093 )
  • ( 20 )

Libra 源码分析:Libra 中数据存储的 Schema

Libra数据存储使用的RocksDB这个KV数据库.并且Libra存储和以太坊基本上思路是一样的,就是一个MPT树来保存Libra这个超级状态机.

因为RocksDB中除了KV以外,还存在着ColumnFamilyName这一项,这个用起来有点像Bucket.

  • 白振轩
  • 发布于 2019-06-30
  • 阅读 ( 7234 )
  • ( 20 )

通过 Libra 学习 Protobuf

Protobuf是一种平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,可以用于网络通信和数据存储,本文看看它如果应用在 Libra 中。

Libra 是Facebook 牵头发布的基于稳定币的区块链项目,大家可以通过社区翻译的[Libra 中文文档](https://learnblockchain.cn/docs/libra/docs/welcome-to-l

  • 白振轩
  • 发布于 2019-06-29
  • 阅读 ( 7851 )
  • ( 20 )

Tendermint 中文文档 - 首页

Tendermint Core 是一个区块链应用平台; 相当于提供了区块链应用程序的 Web 服务器、数据库以及用来开发区块链应用的所需的库。

就像为 Web 服务器 服务 Web 应用程序一样, Tendermint 服务于区块链应用。

Tendermint Core 使用拜占庭容错(BFT)共识算法及基于确定性有限状态机的状态机复制 (SMR)。

理解 Web 3 技术栈及区块链如何助力

Web 3.0 的技术栈虽然尚未完成开发,但是一个去中心化透明安全的Web 3.0 互联网时代即将来临,而区块链技术将是Web 3.0 的主要驱动力。

  • Tiny熊
  • 发布于 2019-06-19
  • 阅读 ( 10832 )
  • ( 20 )

Cosmos 与波卡 Polkadot 的五大区别

Cosmos 和 Polkadot 都是关注区块链互操作性的项目,关于二者之间的差别已经有过很多讨论。如果你还不熟悉这两个项目,Linda Xie 发过一串[推特](https://twitter.com/ljxie/status/1118221870745047040?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1118221870745047040&ref_url=https%3A%2F%2Fmedium.com%2Fmedia%2F4c

理解 Cosmos Hub 的治理【译】

本文作者Felix Lutsch 是Chorus One(验证人节点运营服务商)的研究员,本文将介绍Cosmos Hub的治理流程以及如何参与治理。

以太坊中的 gas(汽油) 是什么意思?

我想使用的一个以太坊应用程序说需要"gas"来运行,什么是gas,我从哪里得到gas?

  • Tiny熊
  • 发布于 2019-06-11
  • 阅读 ( 23166 )
  • ( 25 )

以太坊合约地址是怎么计算出来的?

合约地址是怎么计算出来的?有没有办法提前知道合约的地址?

  • Tiny熊
  • 发布于 2019-06-10
  • 阅读 ( 23298 )
  • ( 25 )

有哪些以太坊项目适合初学者学习 Solidity?

{% cq %} 知乎提问: 有哪些以太坊项目适合初学者学习 Solidity? {% endcq %}

  • Tiny熊
  • 发布于 2019-06-07
  • 阅读 ( 10478 )
  • ( 25 )

谈谈区块链(去中心化)治理

治理,这个词在英语系国家用的很多,国内使用比较少,原意是控制、引导和操纵,指的是在特定范围内行使权威。如何在众多不同利益共同发挥作用的领域建立一致或取得认同,以便实施某项计划。

  • Tiny熊
  • 发布于 2019-06-01
  • 阅读 ( 6168 )
  • ( 20 )

使用Substrate搭建一条能跨链的区块链

Substrate 是Polkadot项目推出的区块链构建框架。通过使用Substrate,使普通的软件开发人员可以在短时间内建立一条属于自己的完整区块链,开发者只需要关注自己的业务逻辑,从底层复杂的技术中解放出来。

  • kaichao
  • 发布于 2019-05-30
  • 阅读 ( 9328 )
  • ( 20 )

Cosmos 是什么? 一文了解Cosmos的来龙去脉

本文从技术角度全面了解 Cosmos 项目, Tendermint 是什么,Cosmos SDK 要解决什么,如何进行跨链,如何解决扩展性问题。

  • Tiny熊
  • 发布于 2019-05-21
  • 阅读 ( 50014 )
  • ( 65 )

Solidity 最新 0.6.8 中文文档发布

最新 Solidity 0.6.8 中文文档发布, 这不单是一份 Solidity 速查手册,更是一份深入以太坊智能合约开发宝典。

  • Tiny熊
  • 发布于 2019-05-08
  • 阅读 ( 18068 )
  • ( 33 )

用 Loom SDK 搭建的以太坊侧链上运行 DApp

上一篇,我们在Loom 构建的DApp侧链上部署了智能合约,这篇文章就来基于侧链网络部署一个DApp(去中心化应用)。

  • Tiny熊
  • 发布于 2019-05-06
  • 阅读 ( 10752 )
  • ( 20 )

Truffle文档 - 快速入门 Truffle

主要入门介绍如何创建 Truffle 项目以及将智能合约部署到区块链。