假设我的智能合约中有一个数组,看起来像这样
string[] public employees;
employees
如果我知道索引,我就可以从中获取数据,就像这样
contract.method["employees"].catchCall([i]); // i is the index
employees
如果我不知道有多少物品,我应该怎么把所有物品都放进去?
如果您使用 0.6 以上的solidity 版本,ABIEncoderV2 不再被认为是实验性的。 Github Solidity 0.6 发布
使用新的编码器,您可以返回动态数组和结构。
pragma solidity >=0.6.0;
pragma experimental ABIEncoderV2;
contract SomeContract {
string[] public employees;
function getAllEmployees() public view returns (string[] memory) {
return employees;
}
}