Solidity
在混音中返回結構數組
似乎有很多相關的問題,例如:here,但我仍然不敢相信它在混音中不受支持,還是我誤解了它?似乎它在生產中得到支持。
struct Test { address receiver; string date; } mapping(address => Test[]) public testInfo; function getTestInfo(address _account) public constant returns (Test[]) { return testInfo[_account]; }
無論如何執行該程式碼並返回一個數組
Test
?
它會執行,但輸出不會被解碼。您將在控制台中看到此消息:
failed to decode output: Error: Unsupported or invalid type: tuple
我將建議解構並返回兩個數組,但是結構中有一個字元串,由於字元串本身就是一個數組,因此也無法返回該字元串。你命名它是
date
為了讓它可以保存在一個uint
欄位中,或者可能在一個bytes32
欄位中?如果是這種情況,您可以這樣做:function getTestInfo(address _account) public constant returns (address[], bytes32[]) {
即,在單獨的數組中返回結構欄位並在前端重新構造它們。