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

简介: 以太坊数据库中都存了什么以太坊使用的数据库是一个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个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
11月前
|
区块链 数据安全/隐私保护 UED
DAPP三三复制合约系统开发指南与方案
而未来,Web 3.0是一个由用户和建设者拥有的互联网
|
存储 安全 区块链
区块链101:区块链和数据库的区别是什么?
区块链101:区块链和数据库的区别是什么?
|
Web App开发 开发框架 安全
以太坊–智能合约开发介绍及环境搭建
智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由Nick Szabo首次提出。 智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本。...
936 0
以太坊–智能合约开发介绍及环境搭建
|
存储 机器学习/深度学习 人工智能
智能合约简介
智能合约远胜于传统交易流程,因为它们有可能实现自动化,在某些情况下,甚至可以完全取代整个行业。同时,智能合约使交易更加公平、透明和安全。但是,除了实现自动化和改进单一的交易过程之外,智能合约还能发挥更大的作用。
437 0
智能合约简介
|
Rust JavaScript 前端开发
区块链开发(八)以太坊不同语言客户端地址
区块链开发(八)以太坊不同语言客户端地址
121 0
|
区块链 算法 开发者
带你读《深入理解以太坊》之一:以太坊概述
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
存储 算法 分布式数据库