# ethers.js v6

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/ethers-js

JavaScript/TypeScript Ethereum 开发库；适合定位 RPC 网络、读取余额与回执、按 ABI 解码合约结果，并排查 v5 到 v6 的 bigint 和调用方式变化。

官方入口：https://docs.ethers.org/v6/
类别：开发与基础设施
网络：Ethereum
访问条件：官方文档公开，库经 ethers 包导入；已有项目先核锁定版本，本档案读到 v6 文档页头6.17.0，不据旧CDN示例推最新安装。只读 Provider 不要求私钥或 Signer；RPC URL、认证和额度由服务商规定，地址/请求仍会发送给节点。
费用：库文档未给 RPC 服务的统一价格；读取/eth_call 不产生链上交易费，节点可有认证、请求额度或服务费。send/broadcast 等执行动作另有网络费用，模拟结果不等于总费用或资金到账。

## 用途
- 核对 Provider 网络与历史余额
- 区分空回执、回滚与确认数
- 读取合约与核对 ABI/数量单位
- 解析调用错误并区分模拟和发送

## 使用边界
- 仅核官方 v6 方法和 Ethereum 示例，不声明所有 EVM 链/扩展RPC/公共端点均受支持或稳定；节点的历史、trace/debug和重组行为另核。
- getTransactionReceipt=null 不唯一表示待确认；未知/裁剪节点也可能为空，status也可能null。
- ABI 解码正确不证明合约安全、代币真实性或业务到账；CALL_EXCEPTION缺data不能猜具体原因。
- staticNetwork 仅确定节点链不会变化时使用，不能为掩盖网络错误开启；不对可切链的钱包应用静态假设。
- v5的BigNumber、providers.Web3Provider、callStatic等代码不能原样当v6用法；文档/固定例子无用户项目或节点实测。
- call/estimateGas 的 blockTag 文档提示某些后端会静默回落 latest；写入旧块参数不等于历史状态已被严格执行，需节点/记录另证。

## 操作教程
- [ethers v6 查余额与交易：先核网络，再解释 null 回执](https://lianxiaozhi.com/tools/guides/ethers-v6-provider-network-balance-receipt)：在已有开发项目用 Provider 读取指定区块余额和交易回执，把链错、历史节点缺失、待确认与回滚分开。
- [ethers v6 合约读取报错：核 ABI、重载签名和 token 精度](https://lianxiaozhi.com/tools/guides/ethers-v6-contract-abi-units-call-error)：从指定合约的只读方法构造、返回类型和错误数据定位 ABI 不匹配，避免把 staticCall 当发送或把解码失败写成余额零。

## 相关知识
- [私有 RPC 能防止所有抢跑和夹子交易吗？](https://lianxiaozhi.com/learn/private-rpc-trust-boundaries)
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)
- [合约代码已验证，为什么仍不能直接判断安全？](https://lianxiaozhi.com/learn/verified-contract-boundaries)
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)

## 官方依据
- [ethers v6 入门：Provider、Contract与导入](https://docs.ethers.org/v6/getting-started/)
- [ethers v6 Provider：网络、余额与回执](https://docs.ethers.org/v6/api/providers/)
- [ethers JSON-RPC：staticNetwork与批次](https://docs.ethers.org/v6/api/providers/jsonrpc/)
- [ethers Contract：staticCall、send与Result](https://docs.ethers.org/v6/api/contract/)
- [ethers v5 到 v6：bigint与方法变化](https://docs.ethers.org/v6/migrating/)
- [ethers 单位：formatUnits与parseUnits](https://docs.ethers.org/v6/api/utils/)
- [ethers 错误：code与CALL_EXCEPTION](https://docs.ethers.org/v6/api/utils/errors/)
- [ethers Interface：ABI与错误解码](https://docs.ethers.org/v6/api/abi/)
