登录 后可观看高清视频
使用Yul将价值转移到另一个账户
29次播放
2025-04-16
该视频的核心内容是展示如何使用 Yul (YOR) 语言从智能合约向钱包发送以太币,并对比了使用 Solidity 和 Yul 实现相同功能的 gas 消耗。
关键论据/信息:
- 功能对比: 视频展示了 Solidity 和 Yul 两种语言实现从合约向指定地址转移以太币的功能。Solidity 版本使用了
payable
地址类型和call
函数,而 Yul 版本则直接使用了call
操作码。 - Gas 消耗: 视频重点强调了使用 Yul 语言编写的合约在执行时 gas 消耗更低。通过实际部署和调用合约,视频展示了 Yul 版本的 gas 消耗比 Solidity 版本低约 273 gas。
- Yul 代码解释: 视频详细解释了 Yul 代码中
call
操作码的各个参数,包括 gas 限制、目标地址、发送的 value (使用self-balance
获取合约余额)、以及用于传递和接收数据的内存区域。self-balance
被指出是比balance address
更经济的获取合约余额的方式。 - 代码逻辑: 两种语言实现的合约都包含一个
withdraw
函数,该函数将合约的所有余额转移到预先设定的 owner 地址。合约构造函数被设置为payable
,以便在部署时接收以太币。合约会检查交易是否成功,如果交易失败则回滚。