要写入或更新状态变量,您需要发送交易。 另一方面,您可以免费读取状态变量,而不需要任何交易费用。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract SimpleStorage {
// 用于存储数字的状态变量.在区块链链上部署了一个名为num的变量,占用一个位置
uint public num;
// 您需要发送交易来写入状态变量。
function set(uint _num) public { //set函数需要gas
num = _num;
}
// 您可以在不发送交易的情况下从状态变量中读取。
function get() public view returns (uint) { //get函数不消耗gas
return num;
}
}
术语解释:
状态变量(State Variable):在合约中定义并存储值的变量。它们的值在合约执行期间保持不变,除非通过事务来修改它们。 交易(Transaction):在以太坊上更改状态的操作。交易必须由外部账户发起,并由网络上的矿工打包和验证。它包括发送方、接收方、数额以及可以执行的任何智能合约函数。