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

Ethereum Azure区块链工作台应用程序在配置中使用结构,ethereum,solidity,azure-blockchain-workbench,Ethereum,Solidity,Azure Blockchain Workbench,我正在尝试将智能合约上传到azure区块链工作台。从初学者教程中,我看到需要一个配置文件。从这里的参考文档中可以看到不包括结构或映射的受支持类型。这是一个挑战,因为我使用的智能合约有几个结构甚至映射被定义并用作状态变量。有没有办法解决这个问题,来指定这些复杂类型的状态变量?不知道这是否是一个愚蠢的问题,只是工具的新特性。配置文件中定义的状态被定义为字符串,至少状态的名称部分是字符串。因此,在Solidity契约中需要有一个类型为String或enum of String的状态变量 您可以在契约中

我正在尝试将智能合约上传到azure区块链工作台。从初学者教程中,我看到需要一个配置文件。从这里的参考文档中可以看到不包括结构或映射的受支持类型。这是一个挑战,因为我使用的智能合约有几个结构甚至映射被定义并用作状态变量。有没有办法解决这个问题,来指定这些复杂类型的状态变量?不知道这是否是一个愚蠢的问题,只是工具的新特性。

配置文件中定义的状态被定义为字符串,至少状态的名称部分是字符串。因此,在Solidity契约中需要有一个类型为String或enum of String的状态变量

您可以在契约中明确地包含结构或映射,但不针对状态变量。但是,假设在结构中有每个状态值的信息。然后可以将该状态值映射到结构,如下所示

enum StateType { Active, Pending, Terminated }

struct StateInfo {
    uint age;
    string firstName;
    string lastName;
}

mapping (string => StateInfo) stateInfos;

var stateInfo = stateInfos[StateType.Active];
那对你有用吗