当前位置: 首页 > news >正文

再学:call与delegatecall、call转账 Bank合约

目录

1.call与delegatecall

2.transfer && call

3.若想内部传递abi编码

4.Bank合约 


1.call与delegatecall

call:切换上下文

delegatecall:不切换上下文

delegatecall可以理解为 A在调用B这个集成在A的方法

可升级合约,常用delegatecall

2.transfer && call

地址若是外部账号的地址,调transfer方法就没有什么问题

但如果是合约的话,就会消耗gas,因此,采用addr.call 可以避免gas的限制

3.若想内部传递abi编码

无参写法如下

有参如下:

call 来执行 transfer 操作,这是 transfer 函数背后的底层逻辑。 

4.Bank合约 

红色框:constructor 函数通常用于那些只需要设置一次、在合约生命周期开始时就必须确定的配置。由于 constructor 只会在合约创建时执行一次,因此它非常适合执行这些一次性的初始化任务。 

 黄色框:设定权限,只能被谁使用

绿色框:受到转账,对账户的余额进行加 

白色框:查看账户上的余额有多少 

白色框:取款

绿色框:取出全部款

相关文章:

  • 07-SDRAM控制器的设计——Sdram_Control.v代码解析
  • Git使用SSH登陆
  • synchronized的原理和锁升级
  • Ubuntu “文件系统根目录”上的磁盘空间不足
  • 数据结构篇——线索二叉树
  • 【R语言】lm线性回归及输出含义,置信区间,预测,R方,ggplot 拟合直线
  • Unity学习之Shader总结(一)
  • Ubuntu20.04安装Nvidia显卡驱动
  • Cursor与Blender-MCP生成3D模型
  • Spring Boot集成MyBatis与MySQL
  • linux du和df
  • Linux 快捷键 | 终端快捷键 / 键盘快捷键
  • 大模型如何赋能安全防御?威胁检测与漏洞挖掘的“AI革命”
  • Linux 命令行整理(完善中)
  • fastapi+angular实现菜鸟驿站系统
  • 安全地自动重新启动 Windows 资源管理器Bat脚本
  • HTML 样式与布局初体验:学习进程中的关键节点(一)
  • 在 VSCode 远程开发环境下使用 Git 常用命令
  • Spring Boot - Spring Boot 静态资源映射(默认静态资源映射、自定义静态资源映射)
  • pytorch小记(十三):pytorch中`nn.ModuleList` 详解
  • 美国务院宣布新一轮与伊朗相关的制裁
  • 关于“十五五”,在上海召开的这场座谈会释放最新信号
  • 国务院安委办、应急管理部进一步调度部署“五一”假期安全防范工作
  • 移动互联网未成年人模式正式发布
  • 解放日报:中国大模型企业的发展机遇已经到来
  • 五一小长假,带着小狗去上海音乐厅