聊聊以太坊虚拟机 EVM。
以太坊合约通常用 Solidity 或 Vyper 编写,编译成字节码后部署到链上,由 EVM 逐条执行操作码。
很多人忽略的一点:EVM 按每条指令计 Gas,交易给的 Gas 用完就中止并回滚状态变化,如此就不怕有死循环卡住全网。
和一个合约交互前,在区块浏览器查查源码是否经过验证,不公开源码的合约要多加小心。
在以太坊上调用合约,EVM 每执行一步都根据指令收 Gas,用 $ETH 支付。