Solidity

在混音中返回結構數組

  • February 1, 2018

似乎有很多相關的問題,例如: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[]) {

即,在單獨的數組中返回結構欄位並在前端重新構造它們。

引用自:https://ethereum.stackexchange.com/questions/38142