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

本文介绍了以太坊使用的NOSQL数据库leveldb中的数据存储结构。详细列举了以太坊区块、交易及执行结果等关键信息如何被组织存储,并讨论了基于这些数据能进行的有效查询类型。

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

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

不可以进行的查询

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值