跳到主要内容

创建智能合约

创建智能合约

创建智能合约之前需要声明 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