在 Solidity 中,映射可以存储的键或键值对是否存在最大数量?如果有,最大值是多少?此外,最大数量是否根据键的变量类型和映射的值而有所不同?
例如,以下映射可以存储多少个地址-uint 对?
mapping (address => uint) internal _balanceOf;
每个帐户都有一个称为存储的数据区域,它在函数调用和事务之间是持久的。存储是将 256 位字映射到 256 位字的键值存储。(看)
Solidity 中的映射键被编码为 32 个字节,因此存在2**(32*8)
可能的键。这是一个巨大的数字;