CSV 导出
API把某个地址的交易、内部交易、代币转账或事件日志下载为 CSV 文件。
导出为 CSV
常见问题
- 为什么每个金额都出现两次?
- 因为电子表格装不下 uint256。把一列 18 位小数的整数放进 Excel 或 Sheets,每一个都会被悄悄四舍五入到 15 位有效数字 —— 数值看着没问题,实际上是错的。所以每个金额都会以精确的最小单位整数和按刻度换算的小数两种形式给出,二者都用整数运算得出,都没有四舍五入。如果你打算与链上对账,请把原始列按文本导入。
- 为什么有些数值比另一些大一万亿倍?
- Arc 的 Gas 代币是 USDC,同一笔美元可以按两套刻度寻址:原生余额与交易金额有 18 位小数,而 0x3600000000000000000000000000000000000000 处的 ERC-20 接口只有 6 位。因此一美元在某一行是 1000000000000000000,在另一行是 1000000。代币转账导出会在单独一列里写明每行代币的小数位,并标明该行来自代币合约还是原生镜像,以便区分。把它们相加就是重复计算。
- 导出触及行数上限时会怎样?
- 文件末尾会有一行以 # 开头的注释,写明从哪个区块继续。这不是悄无声息的中断,是刻意为之:一份恰好停在上限、又什么都不说的文件与一份完整文件无法区分,读的人会当成完整的。请用该行写明的区块缩小范围,再导出剩余部分。
- 日期范围有多精确?
- 当两端都落在已索引窗口内时是精确的:范围会对着真实的区块头解析,取起始时刻当时或之后的第一个区块,以及结束时刻当时或之前的最后一个区块。Arc 的区块头只记到整秒,而出块间隔约半秒,因此大约每个时间戳都由两个区块共用 —— 上述这两条规则正是那一对不会把交易漏出所请求区间的规则。当某一端落在已索引窗口之外时,它会被夹到边界,此时范围会被报告为近似并附上原因。如果这一点很重要,请在下载前先用「检查范围」。
- 为什么不能导出整条链?
- 因为那会是搞垮本站最省力的办法。一次导出读取的数据量相当于数千次页面访问,并且在整个下载期间占用一个数据库连接,所以导出受行数上限和区块跨度上限约束,全站 API 同时只允许少数几个在跑,速率限制也远低于普通流量。这些上限就印在表单旁边,并会在每份文件的响应头里报告。
- 我能导出待处理交易吗?
- 没有待处理交易可导出。Arc 没有内存池,也没有待处理状态:一笔交易要么已在某个区块里提交,要么还不存在。同理也没有叔块或分叉区块的导出 —— 这条链具有确定性最终性,两者都不会产生。
地址是一个 20 字节的标识符,可以持有余额;当它带有代码时还可以执行代码。Arc 上的 gas 以 USDC 支付,因此地址显示的余额以美元计价,而不是以波动资产计价。 了解更多