建议和反馈

请填写你的反馈内容

问答 > 区块链 > 问答详情
已解决

Azure区块链工作台应用程序在配置中使用结构10LK

我试图将智能合约上传到azure区块链工作台。从初学者教程我看到需要一个配置文件。从参考文档https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-configuration-overview#type支持的类型不包括结构或映射。这是一个挑战,因为我正在使用的智能合约有几个结构甚至映射被定义并用作状态变量。有没有办法解决这个问题,指定这些复杂类型的状态变量?不知道这是一个愚蠢的问题,只是该工具的新手。

2019-05-24
0
请先登陆或注册

gomez2019-05-24

配置文件中定义的状态定义为字符串,至少State的Name部分是字符串。因此,您需要在Solidity合同中具有State变量,该变量也是String类型或字符串枚举。

你的合约中绝对可以有结构或映射,而不是State变量。但是,假设您在每个State值的结构中都有信息。然后你可以将这个State值映射到struct,就像这样。

enum StateType { Active, Pending, Terminated }
struct StateInfo {
    uint age;
    string firstName;
    string lastName;
}
mapping (string => StateInfo) stateInfos;
var stateInfo = stateInfos[StateType.Active];

这对你有用吗?

投一票
评论(0)
赞赏(0)
邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励