可靠性:存储JSON数据。使用Struct类型与使用String有什么优势?

时间:2018-11-16 03:43:03

标签: ethereum solidity

我必须将JSON格式的数据存储在我的Solidity合同中。我不需要对数据进行任何操作。我只需要存储,更新并返回它即可。

假设我有JSON格式的数据,例如:

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

我当前正在将数据作为字符串传递给构造函数:

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

然后只需替换整个字符串即可更新数据:

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

我正在讨论是否应该创建一个名为“ Shoe”的Struct类型,并将每个属性作为参数传递:

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

  data = newShoe;
}

我永远不需要存储多个鞋子对象,并且将数据作为 String 传递似乎更简单,更容易,但是我想知道使用a的好处吗? Struct 类型。

1 个答案:

答案 0 :(得分:2)

将数据作为字符串传递似乎更合适,因为您无需在合同上进行操作。这样会更容易,而且不容易出错和出现错误。就天然气而言,也就是便宜,也就是说,如果您仍然担心天然气。