智能合约(Solidity)映射存储结构

时间:2020-05-11 09:27:52

标签: ethereum solidity smartcontracts

  1. 使用Solidity可以在映射中存储几对键/值?

    映射(bytes32 => bytes32)对

  2. 如果每秒存储一对密钥/值的效率不高,您能建议一种更好的方法吗?我曾考虑过使用Swarm / IPFS,但我需要最大程度地精简设计...

1 个答案:

答案 0 :(得分:0)

  1. solidity docs说:“映射可以看作是虚拟初始化的哈希表,因此每个可能的键都存在,并且映射到其字节表示全为零的值”-理论上没有依据严格限制映射的大小。

  2. 如果您需要每秒调用一次合同以将某些内容放入映射中,则瓶颈将不在映射类型本身的工作方式上(为此花一秒钟的时间来放置新的密钥,映射中的“价值对”),但以太坊本身更是如此,因为该网络目前每秒仅支持约15笔交易,因此即使汽油价格过高,要每秒将您的合同调用包括在这15笔交易中也将非常困难