LOADING...
LOADING...
LOADING...
当前位置:主页 > 知识列表 >

以太坊 leveldb

1. 一文了解Turbo-Geth客户端最新改进

...eth在数据库上的不同之处。主要的区别在于:不同的数据库(使用Bolt,而非LevelDB)按桶(bucket)来细分数据库那么,本文的主要内容也就跟这两点相关。什么是Bolt,它跟LevelDB的区别在哪里?Bolt和LevelDB其实非常相似,两者都是“键-值对”(key-value)存储,设计目标都是为不需要完整数据库服务器的项...

知识:存储,数据库

2. 存储专栏-连续型数据高效存储之道

...型数据」和「K/V型数据」,并对K/V型数据的特点及读写进行了阐述。我们以leveldb为例,了解到K/V数据在存储时采用LSM-Tree的组织形式,存储方式相对而言比较复杂,数据读写的复杂度也较高,且在数据量大的情况下会遇到性能下降的问题。针对这些问题,我们已经提出了一些优化思路,但这种数据格式...

知识:区块,以太坊,区块链,数据

3. 引介:Turbo-Geth客户端:数据库改进

... 在数据库上的不同之处。主要的区别在于:不同的数据库(使用 Bolt,而非 LevelDB)按桶(bucket)来细分数据库那么,本文的主要内容也就跟这两点相关。什么是 Bolt,它跟 LevelDB 的区别在哪里?Bolt 和 LevelDB 其实非常相似,两者都是 “键-值对”(key-value)存储,设计目标都是为不需要完整数据库服务...

知识:区块,合约,区块头,数据库

4. 技术分享——Vite存储层设计详解之indexDB索引系统设计

Vite每周技术分享,欢迎查看indexDB主要通过k-v数据库levelDB来存储账本的索引,索引对象包括账户(Account)、交易(Transaction/AccountBlock)、快照(SnapshotBlock)、SendBlock/ReceiveBlock映射,在levelDB之外还添加了hot cache、memory cache两种类型的缓存提升读取性能,系统整体架构如下。1.读写流程数据写入时,数据会先写入m...

知识:存储

5. 一文了解以太坊Geth客户端:快照加速机制

...部节点,因此会做至少 7~8 次持久数据库访问(persistent database accesses)。LevelDB 组织数据时最多也是 7 层,所以还有一个额外的乘数。最终的结果是,单次状态访问预计会放大为25~50 次随机的硬盘访问。你再乘上一个区块中的所有交易的所有状态读取和写入,你会得到一个吓人的数字。[当然,所有客...

知识:区块,帕特里夏树,合约,以太坊

6. 三分了解以太坊 Geth 客户端快照加速机制

...部节点,因此会做至少 7~8 次持久数据库访问(persistent database accesses)。LevelDB 组织数据时最多也是 7 层,所以还有一个额外的乘数。最终的结果是,单次状态访问预计会放大为25~50 次随机的硬盘访问。你再乘上一个区块中的所有交易的所有状态读取和写入,你会得到一个吓人的数字。[当然,所有客...

知识:以太坊,Geth,EVM,默克尔树

7. 了解 Geth 客户端:快照加速机制

...部节点,因此会做至少 7~8 次持久数据库访问(persistent database accesses)。LevelDB 组织数据时最多也是 7 层,所以还有一个额外的乘数。最终的结果是,单次?状态访问预计会放大为?25~50 次随机的?硬盘访问。你再乘上一个区块中的所有交易的所有状态读取和写入,你会得到一个?吓人?的数字。[当然,所...

知识:以太坊,Geth

8. 技术周刊|Kusama正式启动平行链拍卖以太坊2.0测试网Nocturne完成第一笔转账

...的技术类消息。以太坊网络▌以太坊2.0客户端Teku发布v21.5.0,新数据库使用LevelDB来减少内存使用并提高可靠性官方消息,以太坊2.0客户端Teku发布v21.5.0,关键更改包括:新数据库现在使用LevelDB来减少内存使用并提高可靠性,现有数据库不受影响;支持eth1端点的自动故障转移。▌以太坊扩容网络Arbitrum将...

知识:以太坊,区块链网络,以太坊扩容,矿池

9. Vite存储层设计概述

...的需要,非常适合区块链这样基于海量交易的数据结构的存储。b、索引通过levelDB实现索引存储。levelDB在批量追加写入方面有非常好的性能,非常适合区块链这样追加写多,更新少的场景。levelDB支持字节序的排序,方便通过定制化的key来实现多版本状态数据的读写,并且能够执行kv方式的读写,以兼顾...

知识:区块链,合约地址,链上,状态

10. 技术分享——Vite存储层设计概述

...的需要,非常适合区块链这样基于海量交易的数据结构的存储。b、索引通过levelDB实现索引存储。levelDB在批量追加写入方面有非常好的性能,非常适合区块链这样追加写多,更新少的场景。levelDB支持字节序的排序,方便通过定制化的key来实现多版本状态数据的读写,并且能够执行kv方式的读写,以兼顾...

知识:存储

11. 以太坊的存储分析(1)

...涉及到了以太坊核心的编码、数据结构,中间还有缓存的部分,最后才通过leveldb(一种key-value数据库)保存到硬盘上。其中以太坊实现的代码十分精巧,设计同时考虑效率与优雅的问题,所以有些地方不那么好理解;加上以太坊的源码和结构不断更新,有一些参考资料只能作为参考,最权威的还是以太...

知识:以太坊,以太坊的,以太坊实现,自己的区块链

12. 在以太坊上安装“炸弹”

... slot)作为键,将原始数据作为值。为了将 MPT 存储在磁盘上,Geth 选择使用 LevelDB 作为数据库。然而,LevelDB 是只支持字符串到字符串映射的键值数据库,MPT 不是字符串到字符串映射。为了解决这个问题,Geth 将每个节点编写成键值对,从而实现全局状态树的扁平化:将节点的哈希值作为键,将序列化...

知识:区块,合约,帕特里夏树,节点

13. 深入解读区块链数据行业:如何产生价值和捕获价值?

...a永久储存与临时储存如前所述,以太坊的底层数据是以 K-V 形式储存在底层 LevelDB 里的。但是 LevelDB 适合于写多读少的场景,所以真正用于读取、查询的数据库是 StateDb,它管理着所有账户的集合,账户的呈现形式是 stateObjectStateDB。其直接面向业务,是底层数据库(LevelDB)和业务模型的之间的存储模块...

知识:区块链,数据

14. NomcArmc——NAC公链NACHAIN

...金融机构都在使用Oracle的数据库产品。为什么我们没有采用其他公链使用的LevelDB ?1、嵌入式数据库RocksDB是Facebook基于Leve/DB开发的一种嵌入式Key- value存储系统,该数据库能够充分利用闪存的性能,大大提升应用服务器的速度。Rocksdb开源引/擎是基于Google的leveldb 1.5版本,但据称做了许多优化性能相对leveldb有...

知识:链上,公链,应用链,共识算法

15. 化险为夷:以太坊的状态问题

...快照的好处在于充当状态访问的加速结构:无需通过 O(log N) 次磁盘读取 (x LevelDB 开销) 来访问一个账户或存储插槽,快照可以提供直接的 O(1) 访问时间 (x LevelDB 开销)。快照支持每项条目以 O(1) 复杂度迭代账户和存储,这使远程节点能够以比以前便宜得多的方式检索顺序状态数据。快照还启用了更多奇特...

知识:以太坊,柏林升级