最近,我研究了EVM存储和LevelDB作为一个状态数据库。这是我的问题。我对levelDB和EVM存储之间的关系感到困惑。当生成激活特定智能契约的事务时,EVM使用CA的codeHash值在levelDB中查找相应的合同,并且契约的状态变量信息是否进入EVM的存储?当事务结束时,EVM的存储是否再次使用新事务的合同信息更新??如果是这样,那么说EVM存储是持久的意味着什么?有人能告诉我,当发生了更改智能契约状态变量的事务时,levelDB和EVM存储中会发生什么情况吗?
发布于 2023-05-24 15:00:42
LevelDB是一个键值数据库.它是围棋客户端的实现细节.
每个地址的"Ethereum State“(EWS)有它的平衡,现在,字节码的散列,存储的根。Geth使用LevelDB来存储EWS。
在执行合同时,它使用字节码哈希来加载合同,使用存储的根加载契约存储。
如果执行已成功完成,则使用新存储的根更新EWS中的契约条目。
https://ethereum.stackexchange.com/questions/150437
复制相似问题