import{_ as s,c as e,a,o as l}from"./app-DxarFyj7.js";const d={};function n(t,i){return l(),e("div",null,[...i[0]||(i[0]=[a(`
Solidity 文件的基础框架通常包含以下几个部分:
- SPDX 许可证标识符 (SPDX License Identifier):为了避免法律问题和明确智能合约的开源许可证,建议在合约的开头添加 SPDX 许可证标识符。
- Solidity 版本声明 (Pragma):这会告诉编译器您希望使用哪个版本的 Solidity 来编译您的代码。
- ABI编码编译指示:通过
pragma abicoder v1或pragma abicoder v2来指定ABI编码版本。 - 合约定义 (Contract Definition):这是您编写智能合约代码的主体部分。
下面是一个基础的 Solidity 文件框架示例,您可以直接使用:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
pragma experimental ABIEncoderV2;
contract MyContract {
// 在这里编写您的合约代码
}
- 布尔类型(bool):值为
true 和 false- 运算符:
!(逻辑非)、&&(逻辑与)、||(逻辑或)、==(等于)、!=(不等于)
- 整形(int/uint):
- 有符号整数(int):可以表示负数和零。
- 无符号整数(uint):只能表示非负数。
- 整数类型可以是8位、16位、32位、64位或256位。(只要是八的倍数都可以)
- 例如:
int8、uint256等。 - 运算符:
- 比较运算符:
<=,<,>=,> - 位运算符:
&(按位与)、|(按位或)、^(按位异或)、~(按位取反) - 移位运算符:
<<(左移)、>>(右移) - 算数运算符:
+(加法)、-(减法)、*(乘法)、/(除法)、%(取余) - 对于一个整数类型
X,可以使用type(X).min和type(X).max来获取其最小值和最大值。
Solidity 支持导入其他源文件,使用import语句。例如:
这将导入filename.sol文件中的合约代码。
还可以创建一个新的全局符号
import * as NewName from "filename.sol"
这将创建一个新的全局符号NewName,您可以在合约中使用它来引用filename.sol文件中的合约,例如NewName.ContractName。
还可以在导入的同时重命名符号:import {symbol1 as alias, symbol2} from "filename";
Solidity 支持两种类型的注释:
- 行注释:使用
//来注释单行代码。 - 块注释:使用
/*和*/来注释多行代码。
例如:
// 这是一个行注释
/*
这是一个
块注释
*/
`,22)])])}const c=s(d,[["render",n]]),r=JSON.parse('{"path":"/programming/solidity/basic-syntax/","title":"Solidity 基础语法与数据类型","lang":"zh-CN","frontmatter":{"title":"Solidity 基础语法与数据类型","createTime":"2025/09/22 10:30:00","permalink":"/programming/solidity/basic-syntax/"},"readingTime":{"minutes":2,"words":600},"git":{"createdTime":1759059454000,"updatedTime":1760064875000,"contributors":[{"name":"si-meng-spec","username":"si-meng-spec","email":"simeng@simengweb.com","commits":1,"avatar":"https://avatars.githubusercontent.com/si-meng-spec?v=4","url":"https://github.com/si-meng-spec"},{"name":"祀梦","username":"","email":"3501646051@qq.com","commits":1,"avatar":"https://gravatar.com/avatar/6406a81eeddc359cf3d3ce018797689fc6d014ff06215c27d0210b42e8f5a8ab?d=retro"}]},"filePathRelative":"notes/programming/solidity/basic-syntax.md","headers":[]}');export{c as comp,r as data};