【问题标题】:input validation in solidity可靠的输入验证
【发布时间】:2022-01-03 17:06:28
【问题描述】:

我正在编写一个 Dapp。我需要计算地理坐标(地理多边形)的面积。我可以在客户端计算这些地理坐标的面积吗?用户可以伪造吗?你会建议我在 Smart Contact 上执行此操作吗?

我可以在客户端轻松地进行这些计算(使用 TurfJS 库),但由于solidity 不支持浮点类型,而且由于成本原因,在 Smart Contact 上进行这些计算可能不是一个好主意。你有什么意见?

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

【问题讨论】:

    标签: solidity truffle


    【解决方案1】:

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

    希望这些信息对您有用。

    【讨论】:

    • 感谢您的回复。地理坐标区域很重要,用户不要发假值。在客户端计算面积更容易,但我认为这不是一个好主意。我必须设计另一种机制。
    猜你喜欢
    • 1970-01-01
    • 2013-01-27
    • 2020-06-11
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多