覆盖所有 EVM 链的 ERC-20 地址

ERC20 地址:格式、balanceOf 以及通过 API 创建

ERC-20 地址与 balanceOf 底层如何工作,这些原理如何延伸到 Polygon 和 Arbitrum,以及如何通过 REST(而非原始 JSON-RPC)创建和监控 ERC-20 地址。

7 天免费试用 — 无需信用卡,无需 KYC 即可开始 非托管 — 私钥始终由你掌控 套餐起价 49 欧元/月(490 欧元/年)— 查看套餐和速率限制

ERC20 地址就是以太坊为每个账户使用的那种以 0x 开头、42 位字符的地址格式——当某个账户持有按 ERC-20 标准构建的代币时,它在语境中就被称为「ERC-20 地址」。由于这一格式在每条 EVM 链上通用,你在以太坊上使用的 erc20 地址在 Polygon 和 Arbitrum 上原样可用,不过该地址下的代币和余额是各链独立的。本页介绍地址格式、读取代币余额的 balanceOf 调用,以及如何通过 API 创建地址。

ERC-20 标准简述

ERC-20 是以太坊的同质化代币标准:一小组函数——transferapprovebalanceOf 及其他若干——任何合规的代币合约都会实现它们,这也是钱包和交易所无需为每个代币单独做集成开发就能支持新 ERC-20 代币的原因。完整机制见博客上的 ERC20 代币标准文章;本页聚焦地址这一侧:什么是 erc20 地址,以及如何以编程方式操作它。

balanceOf:ERC-20 余额实际是如何被读取的

ERC-20 代币余额并不存储在地址本身上——它存储在代币的智能合约内部,通过以地址为键的映射来记录。balanceOf(address) 是每个 ERC-20 合约都对外提供的标准只读函数,用于查询该值。直接调用它意味着要编码一次针对代币合约的原始 JSON-RPC eth_call,再解码返回的十六进制数据。Chaingateway API 替你完成了这一解码过程:余额和交易历史接口直接返回普通数字,因此「erc20 balanceof」不再是一个原始 RPC 问题,而变成了一次普通的 API 响应。

Polygon 与 Arbitrum 上的同一个地址

Polygon 和 Arbitrum 都与 EVM 兼容,因此 Polygon 地址和 Arbitrum 地址使用与以太坊地址相同的 0x 格式,如果由同一个密钥派生,甚至可以是完全相同的地址。这也是为什么Polygon 代币在功能意义上就是 ERC-20 代币——是 Polygon 是一个 ERC-20 代币网络,而不是另一套地址标准——POL 和 Polygon 原生代币实现的是与以太坊代币相同的接口。即便地址格式相同,代币合约在各链上依然是独立的;部署在以太坊上的代币需要单独部署(或通过跨链桥)才能存在于 Polygon 上。

ERC-721 与 ERC-721A:不同的标准,相同的地址格式

ERC-721 是以太坊的非同质化代币(NFT)标准——每个代币 ID 都是唯一的,而不像 ERC-20 的余额那样可互换。ERC-721A 是同一 ERC-721 接口的一种广泛使用、经过 gas 优化的实现,常用于批量铸造的 NFT 系列;它改变的是合约内部存储数据的方式,而不是持有者地址的样子。两者对所有权都使用相同的 erc20 风格 0x 地址。博客上的 ERC721 代币标准文章深入介绍了 NFT 这一侧的内容。

通过 REST 创建并读取 ERC-20 地址

接口作用
POST /api/v2/ethereum/addresses生成新的以太坊地址
POST /api/v2/ethereum/addresses/import导入私钥,让 API 能够代表该地址签名
POST /api/v2/ethereum/webhooks为该地址注册 ERC-20 存款 Webhook
POST /api/v2/ethereum/transactions/erc20从该地址发送 ERC-20 代币

将路径中的 /ethereum/ 替换为 /polygon//arbitrum/,同样的请求结构照样适用,因为这三条链共享相同的地址格式和 ERC-20 接口。

想要获取 ERC-20 余额,却不想手动解码 balanceOf 调用?创建免费账户,通过 REST 查询测试网地址——7 天试用,无需信用卡,无需 KYC。

常见问题:ERC-20 地址

以太坊为每个账户使用的、以 0x 开头、42 位字符的地址格式,无论该账户是否持有 ERC-20 代币。当讨论具体聚焦在它所持有的代币时,语境中就称它为 ERC-20 地址。

一组函数——transfer、approve、balanceOf 等——以太坊上任何同质化代币合约都会实现它们,因此钱包和交易所无需为每个新代币编写专门代码即可支持它。

balanceOf(address) 是每个 ERC-20 合约都提供的只读函数。直接调用它意味着对代币合约执行一次 eth_call 并解码十六进制响应;Chaingateway API 会直接返回解码后的余额。

Polygon 是一条区块链,不是代币,但它与 EVM 兼容,因此其上的代币实现了与以太坊代币相同的 ERC-20 接口,Polygon 地址也使用相同的 0x 格式。

ERC-721 NFT 标准的一种经过 gas 优化的实现,常见于批量铸造的系列。它改变的是合约内部存储方式,而不是地址格式——所有权仍然由标准 0x 地址解析确定。

准备好在以太坊、Polygon 或 Arbitrum 上构建了吗?

创建账户,今天就查询一次测试网 ERC-20 余额——7 天试用,无需信用卡,无需 KYC。完整参考见 Ethereum API 文档,或使用 multi-chain blockchain API 覆盖全部七条链。