solidity 中的输入验证

input validation in solidity

我正在编写 Dapp。我需要计算地理坐标(地理多边形)的面积。我可以在客户端计算这些地理坐标的面积吗?用户有可能伪造吗?你会建议我在 Smart Contact 上这样做吗?

我可以轻松地在客户端(使用 TurfJS 库)进行这些计算,但是由于 solidity 不支持 Float 类型,而且由于成本,在 Smart 上进行这些计算可能不是一个好主意接触。你怎么看?

在智能合约中,由于不支持 Float 变量,我必须将 lat/lon(多边形的坐标)存储为字符串或 UINT。我想计算所选多边形的面积。

我建议在区块链外进行所有必要的计算,因为计算能力很昂贵,而且您必须始终尝试尽可能降低汽油费。如果这些计算由于不良原因不可操纵,那么在客户端进行这些计算并不是一个坏主意。

希望此信息对您有用。