Solidity 解决 SPDX license identifier not provided in source file 问题


字数:266 阅读时长:1分钟 阅读:85

使用 solcjs 编译 solidity 文件,出现 Warning: SPDX license identifier not provided in source file 日志,导致 sol 文件编译失败。

Solidity

一、完整日志

1
2
3
4
PS D:\project\solidity> solcjs -o dist --bin .\01.sol
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.
--> 01.sol

二、警告原因

soliidity 0.6.8 引入了 SPDX ,使用时要在 .sol 文件第一句加上 SPDX-License-Identifier: <SPDX-License> 注释。

三、解决

.sol 文件第一句加上 // SPDX-License-Identifier: GPL-3.0,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract SimpleStorage {
uint storedData = 567;
bool isOk = true;

int256 a = 20;
int256 b = 30;

function set(uint x) public {
storedData = x;
}

function get() public view returns (uint) {
return storedData;
}

function getAddr() public view returns (address) {
return msg.sender;
}

function getBool() public view returns (bool ) {
return isOk;
}

function add() public view returns (int) {
if (a > b) {
return a - b;
} else {
return a + b;
}

}
}

SPDX 许可列表网址:https://spdx.org/licenses/


欢迎访问:天问博客

本文作者: Tiven
发布时间: 2022-12-02
最后更新: 2023-07-17
本文标题: Solidity 解决 SPDX license identifier not provided in source file 问题
本文链接: https://www.tiven.cn/p/d471e980/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
欢迎留言,提问 ^_^
个人邮箱: tw.email@qq.com
notification icon
博客有更新,将会发送通知给您!