警告:源文件中未提供SPDX许可证标识符


我创建了一个新的solidity合约。合同已经生效,但给了我这个警告。
Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: <SPDX-License>" to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.

编译时没有错误。

我在中使用的编译器版本https://remix.ethereum.org/是v0.7.5+commit.eb77ed08语言:SolidityEVM版本:编译器默认

每当我按下compile时,它都会向我发出警告,但在部署时没有问题。

我的代码片段:

pragma solidity ^0.7.5;
contract TestContract {
// Some logic
}

From Solidity ^0.6.8引入SPDX许可证。因此,您需要在代码中使用SPDX许可证标识符。

看看这个:https://forum.openzeppelin.com/t/solidity-0-6-8-introduces-spdx-license-identifiers/2859

例如,在您的代码中,您需要使用类似的许可证标识符

// SPDX-License-Identifier: MIT
pragma solidity ^0.7.5;
contract TestContract {
// Some logic
}

您需要根据您的项目使用许可证。其他一些许可证包括:

// SPDX-License-Identifier: GPL-3.0-or-later

您可以在此处找到许可证列表:https://spdx.org/licenses/

"//SPDX许可证标识符:MIT";将此添加到顶部。这是Solidity扩展的问题,请卸载它。然后安装,然后关闭编辑器并重新加载。

例如:

//SPDX许可证标识符:MIT

实用主义稳固性^0.8.14;

相关内容

  • 没有找到相关文章

最新更新