创建智能合约
创建智能合约
创建智能合约之前需要声明 SPDX 协议
软件包数据交换(SPDX) 规范定义了一个用于交流软件组件信息的开放标准,具体查看 licenses
其次还要声明 solidity
的版本
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract X {}
构造函数
只在合约部署的时候调用一次,之后便不再调用
contract X {
string public name;
address public owner;
constructor(string memory _name) {
name = _name;
owner = msg.sender;
}
}
变量
- 状态变量: 存储在链上的变量,所有合约内函数都可以访问,
gas
消耗高,声明在合约内、函数外 - 局部变量: 局部变量是仅在函数执行过程中有效的变量,函数退出后,变量无效。局部变量的数据存储在内存里,不上链,
gas
低 - 全局变量: 全局变量是全局范围工作的变量,都是
solidity
预留关键字。他们 可以在函数内不声明直接使用。查看msg.sender
block.number
msg.data