首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从外部用ABIEncoderV2传递作为函数参数的结构?

如何从外部用ABIEncoderV2传递作为函数参数的结构?
EN

Ethereum用户
提问于 2019-05-28 13:14:51
回答 1查看 152关注 0票数 0

有以下代码:

代码语言:javascript
复制
struct UserScore {
    address user;
    uint score;
    uint time;
}
function getWithStruct(UserScore _user) public view returns (address, uint, uint) {
    return (_user.user, _user.score, _user.time);
}

目前,元问题似乎不支持这个特性。但有解决办法吗?对于我来说,有元for的用户有必要以结构化的形式传输签名数据。我能为它做什么?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2019-05-28 13:31:15

您可以简单地通过使用映射并从类似于此的struct映射值返回,而不需要使用ABIEncoderV2:

代码:

代码语言:javascript
复制
struct UserScore {
    address user;
    uint score;
    uint time;
}
mapping(address=>UserScore) public userscore;

function addUserScore(address _user, uint _score, uint _time)public returns (bool success){
    userscore[msg.sender] = UserScore(_user,_score,_time);
    return true;
}
function getWithStruct(address _userAdress) public view returns (address, uint, uint) {
    return (userscore[_userAdress].user, userscore[_userAdress].score, userscore[_userAdress].time);
}

希望这能帮到你。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/71192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档