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

VibeCoing:实现 Bank 合约

9次播放
2026-05-15

视频 AI 总结: 本节课讲解了上一节的 Bank 合约作业,利用 AI 工具(Codex)快速生成了包含管理员、存款(payable)、取款(transfer/call)及前三名排序功能的合约代码。讲师重点指出了常见错误:不必存储用户余额(账户自带余额),并且 view 函数不会降低其被调用的 gas 成本(内部计算量仍计入总 gas)。最后鼓励同学自行实践并理解合约的余额管理逻辑。

关键信息:

  • 使用 AI 辅助编写 solidity 合约,需提供上下文(如运行环境)以确保生成独立文件。
  • 合约部署时管理员由 msg.sender 确定。
  • 存款函数通过 payable 接收 ETH,用 msg.value 获取金额并存入 mapping。
  • 取款时使用 address(recipient).transfer()(旧写法)或更推荐 call{value: amount}("")(解决 gas 限制问题)。
  • 合约无需额外变量记录总余额或用户余额,链上每个账户已有 balance 属性。
  • 在 public 函数内部调用 view 函数仍会消耗 gas,view 仅免除交易费中的 gas 价格部分,计算量 gas 不会消失。
  • 避免冗余存储(如单独记录前三名数组),尽量复用已有数据,降低链上存储成本。