You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不同区块链中balance关键字的余额返回规则差异

关于address(this).balance返回值的明确说明

address(this).balance不存在“固定返回ETH余额”的逻辑,它永远返回当前合约部署所在EVM链的原生货币余额,返回值的资产类型完全由合约运行的链环境决定:

  • 若合约部署在以太坊主网、以太坊官方测试网(Sepolia、Holesky等),这类链的原生资产是ETH,此时address(this).balance返回的就是对应合约地址的ETH余额,这也是多数入门教程直接将其描述为“返回ETH余额”的原因——这类教程默认用以太坊环境做演示。
  • 若合约部署在Polygon PoS链,这类链的原生资产是MATIC(现已升级为POL,原生资产逻辑未变),此时调用address(this).balance返回的就是该合约地址持有的原生MATIC/POL余额,不会返回跨链映射到Polygon的WETH、或是其他链上的ETH资产。
  • 该逻辑对所有EVM兼容链通用:部署在BNB Chain时返回BNB余额,部署在Avalanche C链时返回AVAX余额,部署在Fantom时返回FTM余额,没有例外。

底层逻辑补充:EVM在状态层为每个地址单独维护了原生资产余额的存储字段,balance属性是直接读取该字段的数值,本身不对资产名称、资产类型做任何判定,字段记录的是哪类链原生资产,返回值就对应哪类资产的数量。

内容的提问来源于stack exchange,提问作者Mohamad javad Safari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:36:24