以太坊区块链上的智能合约是一种自动执行的合约,可自动执行各方之间的协议条款。 以太坊智能合约的逻辑和源代码是用 Solidity 编写的,Solidity 是一种专为以太坊区块链设计的高级、面向合约的编程语言。
pragma solidity ^0.8.0;
contract SimpleContract {
uint public balance;
function deposit() public payable {
balance += msg.value;
}
function withdraw(uint amount) public {
require(amount <= balance, "Insufficient balance");
balance -= amount;
msg.sender.transfer(amount);
}
}
在此示例中,SimpleContract 合约允许用户使用 deposit 函数将资金存入合约,并使用 withdraw 函数提取资金。 balance 变量跟踪存储在合约中的资金,require 语句用于执行某些条件(例如确保用户在允许提款之前有足够的余额)。
一旦智能合约部署在以太坊区块链上,它就会在网络中每个节点上的以太坊虚拟机 (EVM) 上存储和执行。 合约代码和状态是不可变的,只能通过执行其功能来更改。