区块链中的bot币是否等同于平台币浅析Vite存储层设计

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

存储层负责完成Vite链各类数据的耐久化存储,并供给缓存、多维度查询等功能。需要耐久化存储的数据包含买卖、快照、账户状况、虚拟机状况这四类数据。

一、存储层事务需求
每种类型的数据都有自己特殊的事务场景,相应的会有自己特有的读写需求:
1. 买卖:每个买卖对应一个AccountBlock,在Vite中能够经过买卖的哈希值或地址来查询买卖,还能够依据相关联系查询SendTx和ReceiveTx之间的相关。
2. 快照:快照链中的SnapshotBlock记录了该块快照的全部买卖的快照信息,能够经过快照块和买卖之间的相关来查询。
3. 账户状况和虚拟机状况:这两类数据都是绑定在地址上的存储结构,区别是账户状况相关一个普通地址,而虚拟机状况相关的是合约地址。因为状况或许会被修改,需要支撑多版本来满意更新、回溯和回滚操作,一起还要支撑状况变化的trace输出。

二、总体设计
依据不同类型数据的读写需求,存储层设计的原则是在底层通用计划的基础上进行了一些定制,并对下流模块供给友爱的接口。

1、通用计划设计
为了供给支撑和进步系统的可靠性,我们设计了以下几个通用计划:
a、小文件存储:使用固定巨细的小文件对两种类型的块进行暂存和永久性存储,合适区块链这样基于海量买卖的数据结构。
b、索引:经过levelDB完成索引存储,合适追加写入多、更新少的场景。
c、缓存:利用内存性能来加速读取,采用一定的策略存储热点数据。
d、异步flush:经过异步方法进步IO性能,并保证数据的一致性。
e、数据紧缩:为削减存储量,能够选择紧缩后再进行耐久化。

2、详细完成
依据详细事务需求,存储分为以下三个模块的完成:
a、blockDB:用于存储AccountBlock和SnapshotBlock,在小文件中存储多个块,削减碎片并方便索引。
b、indexDB:用于levelDB索引blockDB中块的位置,一起存储块之间的相关联系。
c、stateDB:用于存储账户状况和虚拟机状况,经过levelDB的key来支撑多版本数据。

三、总结
经过以上介绍,我们了解到Vite存储层依据事务需求进行了模块拆分,并建构在几个通用计划上。后续的文章将详细介绍每个子模块的设计细节,敬请期待。

此时快讯

【Wintermute YFI贷款和CRV提案已开启投票】金色财经报道,根据社区公告,YIP-74–Wintermute YFI贷款和CRV提案已开启投票。提案的主要内容是:Wintermute请求批准向Wintermute Trading提供YFI贷款,并授权从DAO财库向Wintermute Trading转移350 YFI(198 万美元),为期12个月,利率为0.10%,并在贷款结束时以实物形式支付。
另外,作为Wintermute持续参与Yearn的一部分,Wintermute计划利用其高达300 万CRV(140 万美元)的资金购买yCRV,随后将其资产添加并部署到Yearn上的yCRV-CRV Curve池 (lp-yCRV V2) 至少12个月,旨在帮助重新平衡目前yCRV/CRV 59%/41% 的资金池,改善yCRV挂钩,并增加资金池的流动性。
投票将于8月30日结束。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:区块链中的bot币是否等同于平台币浅析Vite存储层设计 | 币百度

相关文章