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

简介: 以太坊数据库中都存了什么以太坊使用的数据库是一个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就大致晓得了,可以进行哪些查询.

不可以进行的查询

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

目录
相关文章
|
8月前
|
安全 区块链
defi丨dapp智能合约代币系统开发(开发案例)/需求详细/逻辑方案/项目源码
The development of the Defi single and dual currency pledge liquidity mining system requires the following steps: requirement analysis, system design, contract writing, front-end and back-end development, testing and deployment. Firstly, conduct a comprehensive requirement analysis of the system's f
|
6月前
|
区块链 数据安全/隐私保护 UED
DAPP三三复制合约系统开发指南与方案
而未来,Web 3.0是一个由用户和建设者拥有的互联网
|
8月前
|
前端开发 安全 JavaScript
区块链智能合约dapp系统开发实现技术原理及详细/案例介绍/源码程序
  一般来说,区块链可按许可权限分为公有区块链、联盟区块链和私有区块链,其中,公有链面向全球所有用户,任何人都可以在其中读取数据和发送交易;联盟链由若干业务相关的机构共同参与管理,每个机构都运行着一个或多个节点,读写权限仅对联盟内的节点有限度地开放。
|
11月前
|
存储 安全 区块链
区块链101:区块链和数据库的区别是什么?
区块链101:区块链和数据库的区别是什么?
|
数据处理 网络安全 区块链
智能合约系统丨智能合约DAPP系统开发(方案及逻辑)丨智能合约开发源码案例部署
以太坊是一个区块链平台,拥有自己的加密货币,称为以太(ETH)或以太坊,以及自己的编程语言,称Solidity。
|
JSON JavaScript 测试技术
以太坊智能合约入门(编写、编译、创建、部署、交互、测试、交易)
什么是以太坊智能合约? 以太坊智能合约是存放在以太坊区块链具有特定地址的代码(它的功能)和数据(它的状态)集合。智能合约账户之间可以相互传递消息以实现图灵完备运算。
6237 0
|
Rust JavaScript 前端开发
区块链开发(八)以太坊不同语言客户端地址
区块链开发(八)以太坊不同语言客户端地址
105 0
|
区块链 算法 开发者
带你读《深入理解以太坊》之一:以太坊概述
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。