Твердость: хранение данных JSON. Есть ли преимущество в использовании типа Struct по сравнению со String? - PullRequest
0 голосов
/ 16 ноября 2018

Я должен хранить данные в формате JSON в моем контракте Solidity.Мне не нужно делать какие-либо операции с данными.Мне просто нужно сохранить его, обновить и вернуть.

Допустим, у меня есть данные в формате JSON, такие как:

{'name': 'Nike', 'size':'12', 'color':'blue'}

В настоящее время я передаю данные в конструктор какстрока:

constructor(string _data) public {
  data = _data;
}

И обновление данных путем простой замены всей строки:

function updateData(string _data) public {
  data = _data;
}

Я спорю, должен ли я создать тип Struct с именем скажем "Shoe",и передайте каждое свойство в качестве аргумента:

constructor(string _name, uint size, string _color) public {
  Shoe memory newShoe = Shoe({
    name: _name,
    size: _size,
    color: _color
  })

  data = newShoe;
}

Мне никогда не потребуется хранить более одного объекта обуви, и кажется, что намного проще и проще передавать данные как String , но мне интересно, есть ли преимущество в использовании типа Struct .

1 Ответ

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

Передача данных в виде строки кажется более подходящей, поскольку вам не нужно манипулировать ими в контракте.Это будет проще и менее подвержено ошибкам и ошибкам.Это также будет дешевле с точки зрения газа, то есть если вы все равно беспокоитесь о газе.

...