代码之家  ›  专栏  ›  技术社区  ›  MaybeExpertDBA

警告:实验功能已打开。不要在实时部署中使用实验性功能

  •  0
  • MaybeExpertDBA  · 技术社区  · 2 年前
    // SPDX-License-Identifier: MIT
    pragma solidity >=0.4.22 <0.9.0;
    pragma experimental ABIEncoderV2;
    

    我心里有个警告。索尔档案。我不知道这个警告是什么意思。你能帮我吗?

    此行中的警告-->布拉格实验性ABIRV2;

    1 回复  |  直到 2 年前
        1
  •  1
  •   Petr Hejda    2 年前

    一般来说,实验性功能可能不稳定,并会产生意想不到的、未记录的bug——在生产环境中,您可能不希望出现这些bug。因此发出了警告。


    这个具体的 ABIEncoderV2 在Solidity版本0.5中引入,支持使用嵌套数组和映射。在这个坚固的版本中,编码器的稳定性被标记为 experimental (即可能不稳定)。

    文件: https://docs.soliditylang.org/en/v0.5.17/layout-of-source-files.html#abiencoderv2

    请注意,这些文档适用于已弃用的Solidity版本0.5。

    在当前的Solidity版本0.8中 Abirv2 编码器是稳定的,不再是实验性的。因此,如果您使用最新的编译器版本编译项目,您可以自由删除 pragma experimental 声明,这也将删除警告。