智能合约如何在以太坊上生存(存储和打开以进行状态更改)

How is a smart contract lived on Ethereum (stored and opened for state change)

可以将智能合约编译成 EVM 字节码 (Ethereum Virtual Machine) 并部署到具有特定块高度的块上的以太坊区块链,以及 return 交易哈希。

但是智能合约是通过什么方式存储在区块上的呢?当发出与该智能合约交互以更改其状态(例如变量的值)的交易时,区块链如何记录状态变化

你需要区分存储在区块链中的两个东西(它们都是无状态和不可变的):

  • 智能合约模板
  • transactions/events

最终智能合约状态不直接存储在块中。它是由节点(以太坊虚拟机)根据前面提到的模板和交易计算出来的。