@anywalletkit/networks

中文文档
0.5.1发布于 2026/11/03Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 2344

任何钱包包钱包的网络:主网目录,包含公开的RPC故障列表,每个链条家族的默认测试网,用户添加的网络和自定义的RPC(NetworksTable over any JSON survey),每个家族的端点验证(chain id / g)

中文使用文档
文档目录6 节
  1. 安装
  2. 型号
  3. URL 政策(所有者决定 2)
  4. verifyNetwork(network, { rpc?, fetch?, allowHttpLocal?, tim…
  5. 内建表
  6. EIP-3085 (英语)

@ anywalletkit/网络

npm

每个钱包构建的网络列表:目录主网及其公开的RPC故障列表,每个链条家族的默认测试网,用户所添加的网络和RPC,以及证明一个端点的验证器为它声称的网络服务. 移动应用程序和扩展套件读取同一个表格.

安装

npm install @anywalletkit/networks
# or: pnpm add @anywalletkit/networks  ·  yarn add @anywalletkit/networks

时间: @ anywalletkit/网络发表于 发布工作流程 与出处.

纯类型脚本, 不超出运行时间依赖性 @anywalletkit/swap2-assets (计: isCatalogChain) (中文(简体) ). 在赫尔墨斯下运行( 无) URL,没有 atob,没有 structuredClone) (中文(简体) ).

import { NetworksTable, verifyNetwork, parseAddChainParams, checkRpcUrl } from '@anywalletkit/networks'

const table = new NetworksTable(myJsonStorage)          // AsyncStorage / chrome.storage / memoryJsonStorage()
await table.load()                                      // once at cold start; before it rpcUrlsForSync / usesUserRpcSync throw (not-loaded)

await table.addRpc('eip155:8453', 'https://my.base.rpc')
await table.rpcUrlsFor('eip155:8453')                   // ['https://my.base.rpc', 'https://base-rpc.publicnode.com', …]
await table.setOnlyOwnRpc('eip155:8453', true)          // → ['https://my.base.rpc'] (no public fallback)
table.rpcUrlsForSync('eip155:8453')                     // same, from memory — for a sync client factory
table.usesUserRpcSync('eip155:8453')                    // true → label the review sheet "Custom RPC — simulation not trusted"

const r = await verifyNetwork(await table.get('eip155:8453')!, { rpc: 'https://my.base.rpc' })
// { ok: true, latencyMs: 212, tip: 52896400, reported: '8453' }  |  { ok: false, error: 'chain-id-mismatch: Endpoint serves chain 1, not 8453.', reported: '1', … }
await table.markRpc('eip155:8453', 'https://my.base.rpc', r)   // a failure parks the URL (skipped by rpcUrlsFor) with the reason

型号

interface Network {
  caip2: string            // eip155:11155111, solana:EtWT…, bip122:<genesis>, ton:-3, tron:nile, near:testnet, zcash:testnet
  family: 'evm' | 'solana' | 'ton' | 'tron' | 'btc' | 'near' | 'zcash'
  name: string; symbol: string; decimals: number
  kind: 'catalog' | 'testnet' | 'custom'
  rpcs: string[]           // tried in order
  explorer?: string
  source: 'builtin' | 'user' | { origin: string; addedAt: number }   // a site-added network carries its origin
  onlyOwnRpc?: boolean     // drop the public fallback
  balancesViaOwnRpc?: boolean
  enabled: boolean         // testnets ship off
}

规定:

  • 内建条目(目录主网或默认测试网)无法删除;用户只能 预选 RPC和翻转切换——所发运的列表作为倒置,除非 onlyOwnRpc· ;
  • 一个自定义的自定义网络没有倒置,至少需要一个RPC;一个内置链码所存储的自定义条目被忽略了(一个站点不能取代Ethereum的端点);
  • rpcUrlsFor(caip2) =健康的用户RPC,然后是内建列表(除非 onlyOwnRpc 并且至少有一个用户RPC是健康的;
  • markRpc(caip2, url, result) 将一个失败的用户RPC与它的错误一起停放,直到它再次通过或被去除——这个端点改变我们下面的链式ID被作为中毒处理,而不是作为断电处理;
  • 只有三角洲存在NetworksState: 每个内建, 自定义网络, 问题, http option- in), 所以一个已运出列表更新可以到达每个安装 .

URL 政策(所有者决定 2)

checkRpcUrl(url, { allowHttpLocal })数字 : https:// 任何地方; http:// 仅针对私人地址 -- localhost, (中文(简体) ), *.local, (中文(简体) ), *.internal, (中文(简体) ), *.home.arpa, (中文(简体) ), *.lan,0/8,10/8,100.64/10, 页面存档备份,存于互联网档案馆, 127/8第169254/16号决议,附件, 172.16/12, (中文(简体) ), 192.168/16, 198.18/15, IPv4以任何方式写出URL解析器读取(127.1, (中文(简体) ), 2130706433, (中文(简体) ), 0x7f.0.0.1),任何无法打印的 ASCII 主机(一个 URL 解析地图) 127.0.0.1 至 127.0.0.1, IPv6回放 / ULA / 链接- local / multicast 和 IPv4 在一个映射, NAT64 或 6to4 地址内 - 财务报告和审定财务报表 仅使用 allowHttpLocal (高级切换,存储在表格中). 在 URL 中没有证书, 也没有反斜线、 标签、 CR/ LF 或其他控制字符 \ 并降低标签/ CR/ LF,所以主机获取连接将不会是选中的连接 . parseAddChainParams 永远不要给一个网站当地例外.

isPrivateHost(host) 测试本身,和 isPublicHttpsUrl(url) 用于 URL 的钱包在他人的单词( ENS 网关, avatars) 上获取: https, no certain, a public host. 两者都在 @anywalletkit/networks/url,不会装入目录。 解决私人地址的公用名称(DNS rebound)不会被主机测试所捕获.

verifyNetwork(network, { rpc?, fetch?, allowHttpLocal?, timeoutMs? })

家属身份( 必须匹配 CAIP-2 id)提示
页:1eth_chainIdeth_blockNumber
索兰娜getGenesisHash 从引用开始(solana:mainnet 编号 : devnet 编号 : testnet 化名解析)getSlot
吨数配置 第19段(全球id,从BOC中解析)= -239 编号 : -3getMasterchainInfo 后续
音节起源块 id (wallet/getblockbynum 0)结尾为链条引用(728126428 ≙ 0x2b6653dc, (中文(简体) ), nile ≙ 0xcd8690dc, (中文(简体) ), shasta ≙ 0x94a9059e(中文(简体) )wallet/getnowblock
(单位:千美元)埃斯波罗拉 /block-height/0组合图 /api/v2/block-index/0/blocks/tip/height 编号 : bestHeight
z 现金同样的,加座椅 dashboards/block/0/stats 块
相邻status.chain_idlatest_block_height

回返 { ok, latencyMs, tip?, error?, reported? } 永远不要扔。 错误前缀为代码 : chain-id-mismatch, (中文(简体) ), url-policy, (中文(简体) ), redirected, (中文(简体) ), http-<status>, (中文(简体) ), rpc-error, (中文(简体) ), bad-json, (中文(简体) ), timeout, (中文(简体) ), unreachable, (中文(简体) ), no-rpc, (中文(简体) ), bad-network拒绝重新指导(redirect: 'error',以及一个回答 url 编号 : redirected / 3xx 状态显示方向是 redirected: Endpoint redirected to <host>; enter the final URL:URL策略判断了用户或网站给出的地址,而不是其指向的位置. 习惯 fetch 不能拒绝方向调整的,应该报告 url 或者说 redirected,或者重定向请求在检查前发出. http-<status> 财务报告和审定财务报表 bad-json 上面没有文字。 回答一个网站( A)wallet_addEthereumChain)带有通则错误,而不是 error。 。 。 . verifyRpcs(network) 检查每一个终点. scripts/verify-live.mjs 运行真实的东西 与每个内置的终点.

内建表

CATALOG_NETWORKS ——资产目录的30个EVM主网(Ethereum, Base, BNB, Arbitrum, Optimism, Polygon, Avalanche, HyperEVM, Robinhood, zkSync, Celo, MegaETH, Unichain, Monad, Plasma, Linea, Gnosis, Sonic, World Chain, Sei, Iink, Plume, X Level, Scroll, Berachain, Arc, Mantle, Katana, Morph, Flare), 公共故障列表,加上Solana, TON, Tron, Bitcoin, NEAR和Zcash, 公共端点(移动应用程序通过表格预置其关键代词).

DEFAULT_TESTNETS (已发运) enabled: false;端点和身份调用于2026-10-21:

网络盲肠2结束点
塞波利亚eip155:11155111ethereum-sepolia-rpc.publicnode.com, sepolia.drpc.org (rpc.sepolia.org 不再回答) 互联网档案馆的存檔,存档日期2013-12-02
塞波利亚基地eip155:84532sepolia.base.org, base-sepolia-rpc.publicnode.com 页面存档备份,存于互联网档案馆
塞波利亚角eip155:421614(原始内容存档于2018-10-12) (英语). sepolia-rollup.arbitrium.io/rpc, arbitrium-sepolia-rpc.publicnode.com
OP 塞波利亚eip155:11155420sepolia.opimism.io, 乐观主义-sepolia-rpc.publicnode.com
多边形eip155:80002多边形-amoy-bor-rpc.publicnode.com,多边形-amoy.drpc.org (rpc-amoy.polygon. teechnology 已无答案)
BSC 测试网eip155:97bsc-testnet-rpc.publicnode.com 数据种子-prebsc-1-s1.bnbchain.org:8545
莫纳德测试网eip155:10143testnet-rpc.monad.xyz (中文(简体) )
索拉纳网络solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 (单位:千美元)wallet-solana CAIP2_GENESIS.devnet(中文(简体) )api.devnet.solana.com (英语)
比特币测试网4bip122:00000000da84f2bafbbc53dee25a72ae (来源于mempol.space/testnet4)空间/ testnet4/api - wallet-btc是因为 testnet 选项(tb1...,硬币类型 1')服务它 CAIP2_GENESIS.testnet 是测试网3
TON 测试网ton:-3testnet.toncenter.com/api/v2/jsonRPC (中文(简体) ). (全球id-3从配置第19段确认)
特龙尼罗tron:nile (单位:千美元)wallet-tron 还要 nile 编号 : tron:0xcd8690dc(中文(简体) )诺克·特龙格里奥
NEAR 测试网near:testnetppc.testnet.near.org, test.rpc.fastnear.com 页面存档备份,存于互联网档案馆
Zcash测试网zcash:testnet没有——未经核实. 块椅没有zcash/testnet路由,其他公共API也没有回答;用户提供块册

EIP-3085 (英语)

parseAddChainParams(params, { known?, origin? }) 转出 wallet_addEthereumChain 请求输入 a Network (单位:千美元)kind: 'custom', (中文(简体) ), source: { origin, addedAt }或 EIP-1193 错误以(-32602 糟糕的车厢, 4902 链条不在目录中). 仅https RPC; nativeCurrency.decimals 一定是18岁 过 known 接受资产目录以外的链条.

版本与发布记录

@anywalletkit/networks 共发布 13 个版本,首次发布于 2026/10/25;过去 12 个月发布了 13 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.5.1latest2026/11/034 天前
0.5.02026/10/308 天前
0.4.02026/10/309 天前
0.3.02026/10/2910 天前
0.2.72026/10/2811 天前
0.2.62026/10/2711 天前

关于 @anywalletkit/networks 的常见问题

@anywalletkit/networks 是什么?

任何钱包包钱包的网络:主网目录,包含公开的RPC故障列表,每个链条家族的默认测试网,用户添加的网络和自定义的RPC(NetworksTable over any JSON survey),每个家族的端点验证(chain id / g)

如何安装 @anywalletkit/networks?

在项目目录运行 npm install @anywalletkit/networks,或使用 pnpm add / yarn add / bun add。

@anywalletkit/networks 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@anywalletkit/networks 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@anywalletkit/networks 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@anywalletkit/networks 可以商用吗?

@anywalletkit/networks 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@anywalletkit/networks 的下载量有多少?

根据 npm 官方下载统计,@anywalletkit/networks 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,344 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anywalletkit/networks 还在维护吗?

最新版本 0.5.1 发布于 2026/11/03(4 天前);至今共发布 13 个版本,其中过去 12 个月发布了 13 个;首次发布于 2026/10/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。