外部账户给智能合约转账,转正金额和传入的参数不一致

问题描述

一个后端开发人员,最近在学习智能合约,在网上下载了一个demo,自己在本地编译,部署,向合约账户转账发现 了一个奇怪的问题,转账金额并不是传入的payAmount,代码如下payable(address(this)).call{value:payAmount} (""),查询合约的余额发现余额并不是payAmount,转账的金额是页面传过来的msg.value的值,然后把代码复制到remix IDE 也是同样的问题。 合约转账金额是0.2 ether,前端页面传值是5 ether也就是msg.value是 5 ether,转账完查询余额是5 ether,而不是0.2 ether,很是困惑

代码

合约代码

合约.png

前端代码

前端代码.png

请先 登录 后评论

1 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
  • 1 关注
  • 0 收藏,611 浏览
  • misterLee 提出于 2024-09-03 11:32