以太坊系列之十五: 以太坊数据库

简介: 以太坊数据库中都存了什么以太坊使用的数据库是一个NOSQL数据库,是谷歌提供的开源数据leveldb.这里尝试通过分析以太坊数据库存储了什么来分析以太坊可能为我们提供哪些关于区块链的API.存储内容NOSQL是一个key-value数据库,可以当做一个磁盘上的map数据结构.

以太坊数据库中都存了什么

以太坊使用的数据库是一个NOSQL数据库,是谷歌提供的开源数据leveldb.
这里尝试通过分析以太坊数据库存储了什么来分析以太坊可能为我们提供哪些关于区块链的API.

存储内容

NOSQL是一个key-value数据库,可以当做一个磁盘上的map数据结构.有以下key-value的映射.
block number+block hash->block header
block number+block hash->block difficulity
block number->block hash
block hash->block number
block number+block hash-> block body (transactions 默克尔树)
block number+block hash-> block receipts (交易执行结果)
tx hash->tx
receipts hash->receipts

可以进行的查询

看看web3提供的关于区块链的api就大致晓得了,可以进行哪些查询.

不可以进行的查询

比如我想在区块链上查询某个地址的所有交易,这是不行的,因为数据库中没有直接保存.想要获得,必须遍历整个数据库.

目录
相关文章
|
区块链 数据安全/隐私保护 缓存
带你读《深入理解以太坊》之三:技术架构
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
6月前
|
小程序 JavaScript Java
记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档)
记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档)
95 0
|
区块链 数据安全/隐私保护 UED
DAPP三三复制合约系统开发指南与方案
而未来,Web 3.0是一个由用户和建设者拥有的互联网
|
存储 安全 区块链
区块链101:区块链和数据库的区别是什么?
区块链101:区块链和数据库的区别是什么?
|
Rust JavaScript 前端开发
区块链开发(八)以太坊不同语言客户端地址
区块链开发(八)以太坊不同语言客户端地址
131 0
|
区块链 算法 开发者
带你读《深入理解以太坊》之一:以太坊概述
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
存储 算法 分布式数据库
|
存储 算法 区块链
以太坊原理简介
本文介绍以太坊的一些基础概念,以及基本原理。主要内容包括:以太坊是什么、以太坊网络、账户类型、账户状态、交易、费用、gas、叔块、以太坊区块链结构、以太坊结构
3988 0