Структуры приложения рабочей среды Azure Blockchain в конфигурации - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь загрузить умный контракт в Azure Blockchain Workbench.Из учебников для начинающих я вижу, что необходим файл конфигурации.Из справочного документа здесь https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-configuration-overview#type поддерживаемые типы, которые не включают структуры или отображения.Это сложная задача, потому что умный контракт, с которым я работаю, имеет несколько структур и даже сопоставлений, определенных и используемых в качестве переменных состояния.Есть ли способ обойти это, чтобы указать переменные состояния этих сложных типов?Не знаю, тупой ли это вопрос, просто новый для инструмента.

1 Ответ

0 голосов
/ 17 октября 2018

Состояния, определенные в файле конфигурации, определяются как строки, по крайней мере, часть Name состояния является строкой.Следовательно, вам необходимо иметь переменную State в вашем контракте Solidity, которая также имеет тип String или перечисление Strings.

У вас могут быть структуры или отображения в вашем контракте, но только не для переменной State.Однако, допустим, у вас есть информация в структуре для каждого значения State.Тогда вы могли бы сопоставить значение этого состояния со структурой, например, так:

enum StateType { Active, Pending, Terminated }

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

mapping (string => StateInfo) stateInfos;

var stateInfo = stateInfos[StateType.Active];

Будет ли это работать для вас?

...