返回整个结构的可靠性?

时间:2017-12-05 18:40:48

标签: ethereum solidity

我们说我有一个结构&像这样的映射:

    struct myStruct {
    address addr;
    uint256 price;
    bool approved;
    }

mapping(string => myStruct) mappy;

如何检索所有密钥? 我知道可靠性会生成getter所以如果我有密钥,我可以从struct内部检索信息。但是密钥对我来说是未知的,我需要检索完整的结构。

也许更好的解决方案是拥有一个公共变量,它是结构的大小,索引是否有键并将键存储在结构中? 这样我就会知道尺寸,我想我可以迭代它

1 个答案:

答案 0 :(得分:0)

首先,你不应该使用字符串作为键,更好地声明bytes32,因为字符串只是它的别名。

您可以调用映射,并将字符串键作为参考。

但是它只会检索没有内部键名的迭代数组。

让我们举例说,你有: mappy['a']包含以下信息

{ '0x000...000', 1, true }

调用将检索如下的简单数组:['0x000...000',1,true]

如果你想让它成为一个对象,你必须自己重建它。