众所周知,一旦智能契约被部署到Ethereum网络,它就不会被修改。但是联系人变体的价值呢?比如说,一份聪明的合同看起来就像:
...
contract Hello{
uint256 var1 = 10;
function changeVar1() public{
var1 = 100;
}
}
...因此,我的问题是,变体var1存储在何处?它是智能契约的一部分字节码吗?(我猜它是以这种方式存储的)如果是的话,当您运行契约时,它的值存在于EVM内存中,并且每次您再次运行智能契约时,var1的值都被初始化为10。如果不是,它准确地存储在哪里?我是否可以看到var1的值被前面的事务更改,即函数changeVar1()?
发布于 2018-12-05 20:43:03
以太节点存储系统取决于您正在运行的节点软件。这是一个实现细节。
例如,在运行奇偶校验节点时,奇偶校验使用RocksDB和您可以在磁盘上找到这些文件。
此外,您可以运行节点在完整存档模式下,它将所有历史状态存储在磁盘上。目前大约有2TB。
https://ethereum.stackexchange.com/questions/63643
复制相似问题