代币
Arcscan 为每一个发出过转移事件的代币合约建立索引,按活跃度排名,并用自己汇总的余额构建完整的持有者列表。
代币列表#
代币是完整的登记表,每个合约一行。它按已索引历史内的转移次数排序——API 在每一页都会声明这个排序依据——而不是按市值排序,因为 Arcscan 不为这条链发布任何市值。排名第 1 的是最繁忙的代币,而不是最大的那个。
| 列 | 它是什么 |
|---|---|
| # | 在当前排序中的名次。它会随转移的累积而变动。 |
| 代币 | 从合约读取的名称和符号,旁边是它的地址。 |
| 标准 | ERC-20、ERC-721、ERC-1155,或者当合约三个接口都不响应时标为未分类。 |
| 转移 | 已索引历史内的 Transfer 日志数。可点击进入筛选后的信息流。 |
| 转移(24 小时) | 同一计数在最近一天内的值,前提是它能被算出来。 |
| 持有者 | 持有非零余额的不同地址数。见下文。 |
| 总供应量 | 总供应量,按该合约自身的小数位数换算。不是流通量——Arcscan 没有流通量数据,也不会去估算。 |
| 合约 | 合约地址,可复制。 |
标准筛选器会把列表收窄到这四类之一。主网上绝大多数是 ERC-20:NFT 合约存在,但与之相比只是舍入误差,因此筛选出的 ERC-1155 视图是一个很短的页面,而不是一个空页面。
代币的页面#
/token/<address> 是代币的规范 URL,打开时停在持有者上。四个标签页,顺序如下:
| 标签页 | URL | 包含什么 |
|---|---|---|
| 转移 | /token/<address>/transfers | 该代币的每一笔转移,最新的在前。 |
| 持有者 | /token/<address> | 按余额排名的列表,外加集中度。 |
| 信息 | /token/<address>/info | 链接、简介和图标——仅当该代币的所有者提交过它们时才有。目前几乎没有任何提交(连主网上最繁忙的三个代币也没有),因此该标签页会说明没有人提交过,而不是显示一堆空字段。 |
| 合约 | /address/<address>/contract | 合约本身,在地址界面上。 |
旧链接依然有效
持有者以前在/token/<address>/holders,转移以前在 /token/<address>。这两个旧路径依然有效,并落到它们一直以来指向的同一内容,还会带上你所在的页码,因此在 2026-08-03 之前写下的书签或 EIP-3091 链接不会失效。持有者#
持有者列表是一次全历史聚合:把该代币曾经发出的每一笔转移都折算成余额。Arcscan 在自己的 balances 数据流中构建它,而在该数据流覆盖了历史的地方,这张表就是一份真正的排名列表,而不是抽样。每一行都带有名次、地址、按该代币小数位数表示的余额、它占供应量的比例,以及该余额最后一次变动所在的区块。
两条链的覆盖情况并不相同,而它决定了这个标签页能回答哪些问题:
| 链 | 余额索引起始于 | 这对持有者列表意味着什么 |
|---|---|---|
| Arc 主网(5042) | 区块 0,连续至链头 | 该列表就是全部历史。不会因为跳过了某个区间而漏掉任何余额。 |
| Arc 测试网(5042002) | 区块 53,500,000,连续至链头 | 仅在该点以下的区块中变动过的余额完全不在索引里,因此最后一次活动早于该点的持有者不会出现在列表上。 |
空的持有者表格绝不是沉默的
有三种不同的情况会让表格没有任何行,而 Arcscan 会把它们区分开来,而不是用一句话应付三种:它读到的每一个余额确实都是零;索引中完全没有该代币的任何转移;或者 Arcscan 无法枚举它,这种情况下页面会说明并给出原因,而不是渲染一个空列表。「没有持有者」在这里是一次测量结果,而不是默认值。集中度#
列表下方会对同一批余额做汇总:前 5 名、前 10 名和前 100 名地址所持供应量的比例、持有量超过 1% 的地址数、覆盖每一个被枚举持有者的基尼系数,以及按名次区间(1–5、6–10、11–25、26–50、51–100,以及 100 名之外的全部)划分的供应量分布。所有这些都是占总供应量的比例。枚举有上限,当某个代币的持有者多于 Arcscan 一次扫描所能处理的数量时,载荷会声明结果被截断,而不是悄悄地只对一个子集排名。
Gas 代币没有持有者列表#
向 API 索取 0x3600…0000 的持有者,它会拒绝,原话如下:
CAPABILITY_UNAVAILABLE
「原生 Gas 代币没有独立的持有者列表:它的余额就是账户余额,再索引一遍会把每个账户重复计算一次。」这不是一处缺口。持有 USDC 的 ERC-20 形式与持有 Arc 的原生余额是同一回事——见下文——因此为它做一份「代币持有者」列表,就等于把账户列表再抄一遍。原生余额请用地址界面,总量请看代币页面上的 总供应量。
转移#
一行转移就是一条 Transfer 日志。这带来一个值得直说的后果:转移信息流中的一行,就证明了它所属的交易成功了。EVM 会把已回滚交易的日志连同它的状态变更一起丢弃,因此不存在失败的转移可供展示,也不存在能标记失败的状态列。
代币转账是全链信息流,按日志顺序最新的在前;代币页面上的「转移」标签页是同一个信息流,只是收窄到一个合约。代币列表中的转移次数是一个链接——它会打开已按该代币筛选好的全链信息流。
每一笔原生资金变动都存在两次,而信息流会说明这一点
Arc 上的 Gas 就是 USDC,而这条链会把每一笔原生资金变动发布两次:一次由执行层镜像发出方以 18 位小数发出,一次由0x3600…0000 处的 ERC-20 形式以 6 位小数发出。信息流只保留这一对中的一条,好让每一美元恰好出现一次,并给保留下来的那一行加上标记——这个标记正是页面告诉你另一条日志存在的方式,而不是暗示链发出过一条。一次纯粹的原生转账根本不会发出代币日志,因此它不在这个信息流里;请到交易上去找它。单个代币的转移历史分页有一个硬上限 100,000 行,达到上限时响应会自我标记为已截断。对 USDC 来说这个上限远低于真实数量,所以那个标签页上的总数是一个分页预算,而不是对该代币的测量。要往更早处翻,或者按对手方和区块区间切分,请使用高级筛选。
小数位数:USDC 的两副面孔#
这是 Arc 上最容易搞错、代价也最高的一件事。USDC 既是这条链的 Gas 代币,又是位于 0x3600…0000 的一个 ERC-20 合约,而这两副面孔报告的小数位数不同:
| 面孔 | 小数位数 | 你会在哪里遇到它 |
|---|---|---|
| 原生余额 | 18 | eth_getBalance、交易的 value、Gas 成本、地址页面上的账户余额。 |
0x3600…0000 处的 ERC-20 | 6 | balanceOf、Transfer 日志、代币金额、总供应量。 |
它们不是两笔余额。6 位小数的数字是 18 位小数那个数字的有损投影——同一笔钱,被截掉了十二位:
erc20_balanceOf(a) == eth_getBalance(a) / 10**12 # integer division, truncating # Verified on mainnet, 2026-08-10: # eth_getBalance(0xba75546acd56b3a9142f94f179b03970ee4283fd) = 10670017543856915492 # balanceOf (0xba75546acd56b3a9142f94f179b03970ee4283fd) = 10670017 # 10670017543856915492 // 10**12 = 10670017 # # Read as money: 10.670017543856915492 USDC natively, # 10.670017 USDC through the ERC-20 face.
把 Arc 添加到钱包:用 18,不是 6
把原生货币配置成 6 位小数的钱包,会把每一笔余额显示得大一万亿倍,而读者会去怪钱包。Arc 的原生货币是带18 位小数的 USDC;6 只属于那个代币合约。确切的链参数见公共 RPC。其他每一种代币都带有自己的小数位数,从它自己的合约读取。Arcscan 绝不假定为 18:如果某个代币的 decimals() 调用回滚,它到达时就完全没有金额,并渲染为无法解码,而绝不会渲染成一个靠猜得出的数字。
美元价值#
凡是 Arcscan 在代币金额旁边显示美元数字的地方,它都是一个派生值,由链上池子的储备量计算得出,并且只有在持有该代币最深的那个池子跨过一条明示的深度下限时才会发布。它可能过时,而且对绝大多数代币来说它根本不存在——载荷中不带价格,并说明原因,通常是因为没有任何池子深到足以据以报价。
永远不具权威性,也永远不是零
这里的美元价值是 Arcscan 基于链上所示内容做的算术,不是一个报价,也不是市场价格。没有价格的持仓对任何小计贡献零内容——它绝不会被当作 0 计入——而小计会标明它未能纳入多少项持仓。请不要用这些数字去结算任何事情。Arcscan 没有的东西#
直截了当地写出来,因为对一个不存在的功能反复猜测,比读一段说明浪费更多时间:
| 不提供的内容 | 原因 |
|---|---|
| 按市值的排名 | 大多数代币没有价格可据以计算,而 Arcscan 也没有流通量数据。列表改为按转移次数排名。 |
| 价格图表、报价或价格 API | Arcscan 派生的唯一一类金额数字,就是上面描述的那种由池子推导出的价值。 |
| 风险评分、代币评级或持有者评分 | Arcscan 发布测量结果,不发布判断。集中度是供应量的占比,不是一份裁决。 |
| 主网代币合约的已验证源码 | Sourcify 未收录链 5042,因此今天这条链上没有任何合约能够被验证——无论通过 Arcscan 还是通过 Sourcify 的任何其他客户端。测试网合约可以被验证;主网合约不能,而这要等这条链被上游收录。 |
| 代币变动的内部调用归因 | 主网上没有索引 traces——零个区块,没有任何区间。每条数据流究竟覆盖了什么,见数据覆盖范围。 |