You are viewing a single comment's thread from:

RE: Solidity开发指南

in #starnote3 days ago

参考

struct Delegator {
    uint256 amount;     
    uint256 rewardDebt;    
    bool    hasDeposited;  
    string  hiveAccount;      
}
mapping(address => Delegator) public delegators;
address[] public delegatorList;

//一次获取所有的代理人
function getDelegators() external view returns(address[] memory delegatorLists){
  delegatorLists = delegatorList;
}

//一次获取所有代理人的结构体数据
function getDelegatorsInfo() external view returns (Delegator[] memory returnData){
    returnData = new Delegator[](delegatorList.length);
    
    for(uint256 i = 0; i < delegatorList.length; i ++){
        returnData[i] = delegators[delegatorList[i]];
    }
    return returnData;
}