我很难理解mapping是如何在坚实的环境中工作的。正如我所解释的,传入mapping的值是使用SHA-3进行散列的。散列后,新哈希值将用作存储值在内存中的位置。我很困惑,因为我不明白为什么SHA-3会在内存中产生一个真正的位置。SHA-3不产生固定长度的随机值吗?如果SHA-3应该生成任意值,那么如何使用散列值来告诉计算机某个值在内存中的位置?谢谢。
发布于 2022-07-01 16:40:25
传递给
mapping的值使用SHA-3进行散列处理。
没有对值进行散列。但是,存储槽位置是由契约内属性位置的散列和其他一些因素(例如索引和密钥的数据类型)确定的。
有关细节,请参阅文档。您可能会对开始的部分感兴趣
映射键
k对应的值位于keccak256(h(k) . p)。
https://stackoverflow.com/questions/72824995
复制相似问题