在Solidity中创建大型结构的映射

时间:2018-06-09 18:05:48

标签: blockchain ethereum solidity

我定义了一个包含18个属性的结构。代码编译得很好,直到我定义了一个将整数映射到此结构的映射。在这种情况下,我在编译期间收到以下错误消息

InternalCompilerError: Stack too deep, try removing local variables.

我知道在定义函数时最多只能有16个本地(包括参数和返回值)。但是在宣布映射时我从未遇到过这个问题。

以下是一些示例代码

pragma solidity ^0.4.18;

struct MyBigStruct {
  address owner;
  string name;
  .... //16 additional attributes 
}

mapping(unit => MyBigStruct) myElements; //this causes the compile error

0 个答案:

没有答案