付费视频,请购买课程( ¥2,000.00 )后再观看

Solidity 特殊函数:Receiver 与 Fallback 详解

8次播放
21小时前

视频 AI 总结: 该视频主要讲解了 Solidity 中特殊的函数,包括访问器函数、构造函数、receiver 函数和 fallback 函数。重点介绍了 receiver 和 fallback 函数的特性和使用场景,强调了它们是被动执行的回调函数,以及在合约接收以太币或找不到用户要调用的函数时被调用的机制。

关键信息:

  1. 访问器函数:public 状态变量会自动生成 get 函数。
  2. 构造函数:在合约初始化时运行一次,部署后不存在于链上。
  3. Receiver 函数:在合约接收以太币时被调用,无法主动调用。
  4. Fallback 函数:在 EVM 找不到用户要调用的函数时被调用,也可作为接收以太币的备选方案。
  5. 转账与 Gas 限制:使用 transfer 转账时,会限制 gas 消耗为 2300,可能导致 receiver 或 fallback 函数执行失败。
  6. 合约调用流程:根据是否有附加数据,EVM 会检查合约中是否存在对应的函数,否则调用 fallback 函数。
  7. tx.origin 与 msg.sender:tx.origin 是整个交易的发起者,msg.sender 是直接调用合约的地址。