Solidity 中映射的映射

Deb*_*Deb 5 solidity smartcontracts

所以我试图创建数据结构,其中 byte32 映射到地址数组,每个地址映射到 uint。

我正在考虑以下方法,但似乎不太正确:

mapping (byte32 => mapping (address[] => uint))

如果可能的话,请帮我解决这个问题。如果问题描述不够清楚,请随时告诉我。

address示例:有一个属性,它映射到 Owners( ) (属性的所有者)数组,每个所有者都映射到uint他们在该属性中拥有的 Stake( )。

Sha*_*ine 1

是的,这是可能的,并且这是建议的方法。

要记住的是,您不能简单地迭代项目(就像数组一样),但如果您的应用程序不需要这样做,那么就可以了。

另一件需要考虑的事情是创建struct具有 ID 和属性的 ,但是,这又取决于您的特定应用程序。

  • 我尝试了(bytes32 => 映射(地址=> uint)),它解决了问题。 (2认同)