Solidity

從合約中獲取儲存陣列數據

  • August 17, 2018

我有一個儲存一系列Proposal資訊的solidity合約:

contract Submissions {

   Proposal[] public proposals;

   struct Proposal {
       // ....
   }
}

在測試中(使用松露框架),我試圖訪問提案數據:

const proposals = await Submissions.proposals();

但我得到了這個例外:

Solidity 函式的參數數量無效

我不明白這一點,因為它不是函式,因此不需要參數。在我的測試的其他地方,我已經使用這種方法成功地收集了契約數據(雖然不是用於數組)——我錯過了什麼?

為數組自動生成的getter接受一個參數:數組的索引。

所以你應該能夠呼叫proposals(0),proposals(1)等來獲取數組的成員。

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