# @elsoul/erpc-sdk 中文文档

规范地址：https://npmcn.com/package/%40elsoul/erpc-sdk/

版本：0\.11\.0
npm 元数据更新时间：2026-10-24T17:36:02.394Z
中文译文更新时间：2026-11-13T14:25:23.328Z
软件包许可：MIT AND Apache-2\.0 AND BSD-3-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40elsoul/erpc-sdk
原文对照：https://npmcn.com/package/%40elsoul/erpc-sdk/?lang=original
项目主页：https://erpc.global/
源码仓库：https://github.com/elsoul/erpc-sdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：3.7 MB，12 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：3 个
- 首次发布：2026-08-28T12:51:51.862Z
- 最新版本发布：2026-10-24T17:36:01.992Z
- 近 30 天下载量：6293（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

用于ERPC的多网络类型安全SDK

## 安装

```sh
npm install @elsoul/erpc-sdk
```

也可以使用：`pnpm add @elsoul/erpc-sdk`、`yarn add @elsoul/erpc-sdk`、`bun add @elsoul/erpc-sdk`

## README

# `@elsoul/erpc-sdk`

官方类型安全 TypeScript 客户端 [企业资源规划](https://erpc.global/)。使用一个 客户端和用于 Base、Bitcoin、Arbitrum、Solana、Ethereum、Avalanche 的 API 密钥 C/P/X链条、价格数据、索引数据、领导者和验证者数据、分析、, 订阅和账户信息。 基地、比特币和Arbitrum被曝光 仅读 JSON- RPC 外观; 调用人拥有的直接端点可以选择 这些外观和现有的索拉纳,伊特鲁姆和阿瓦兰切 C -钱 JSON -RPC.

此指南描述版本 `0.11.0`。检查 [npm 注册版本](https://registry.npmjs.org/%40elsoul%2Ferpc-sdk) 页:1 安装前已发布软件包可用性 .

## 安装

```bash
# Check the npm registry for availability before installing:
npm install @elsoul/erpc-sdk@0.11.0
# or: pnpm add @elsoul/erpc-sdk@0.11.0
# For source validation, use this checkout and its configured local checks.
```

该软件包包括其无害环境管理、通用JS和TypeScript声明。 节点.js 20 或后被支持.

## 快开始

```ts
import { createErpcClient } from '@elsoul/erpc-sdk'

const apiKey = process.env.ERPC_API_KEY
if (!apiKey) throw new Error('ERPC_API_KEY is required')

const erpc = createErpcClient({ apiKey })

const slot = await erpc.solana.rpc.getSlot().send()
const chainId = await erpc.ethereum.rpc.eth_chainId().send()
const avalancheChainId = await erpc.avalanche.rpc.eth_chainId().send()
const baseChainId = await erpc.base.rpc.eth_chainId().send()

console.log({ slot, chainId, avalancheChainId, baseChainId })
erpc.close()
```

JSON-RPC方法唤回等待请求. 打电话 `.send()` 执行 网络请求.

## 直接RPC终点(引入于0.8.0)

调用者拥有的直接端点控制器在 `0.8.0` 和要求 从注册处安装时的软件包。 这个 `0.7.0` 软件包没有 包括此 API; 检查软件包版本徽章和 [最新的 GitHub 释放](https://github.com/elsoul/erpc-sdk/releases/latest) 为活人服务 出版状况.

使用一个没有 ERPC API 密钥的呼叫器所属端点, 至少提供一个 连锁超载。 HTTP URL是 JSON-RPC 完整的请求目标,所以它的 路径和查询被保存 :

```ts
const erpc = createErpcClient({
  ethereumRpc: {
    httpUrl: 'https://node.example/customer/path?region=eu',
  },
})

const chainId = await erpc.ethereum.rpc.eth_chainId().send()
```

配置的 HTTP URL 被视为最终目标 。 重新定向的反应是: 返回为 HTTP 错误,没有重定向请求.

对于直接的HTTP运输,公众 `endpoint` 属性是诊断 只包含源/根的元数据。 私人请求的目标还在 保留所配置的路径、查询顺序和精确编码百分比.

直接使用 HTTP 请求 `credentials: 'omit'`,因此环境浏览器 cookie 和 认证不是暗中发送的 。 通过明确添加认证 最终点的瞄准头 .

当节点需要时,提供独立的WebSocket URL和信头:

```ts
import type { RpcEndpointConfig } from '@elsoul/erpc-sdk'

const ethereumRpc: RpcEndpointConfig = {
  httpUrl: 'https://node.example/rpc',
  webSocketUrl: 'wss://node.example/socket',
  headers: {
    authorization: 'Bearer node-token',
  },
}

const erpc = createErpcClient({
  ethereumRpc,
})
```

`solanaRpc`, (中文(简体) ), `ethereumRpc`, (中文(简体) ), `avalancheCRpc`, (中文(简体) ), `baseRpc`, (中文(简体) ), `bitcoinRpc`,以及 `arbitrumRpc` 选择直接索拉纳,伊特鲁姆,阿瓦兰切 C-钱,基地,比特币, arbitrium JSON-RPC运输机。 Base、 Bitcoin 和 Arbitrum 覆盖 只接受一个 HTTP URL 和范围化的 HTTP 标题,因为这些外观没有 WebSocket或订阅表面. 没有 API 键, 没有被覆盖的链条 本地和指数服务在当地失效。 这个 `RpcEndpointConfig.headers` 字段仅适用于直接的 HTTP 请求 信头从不通过WSS连接发送.

比特币使用已解析的共享 ERPC 端点加 `/bitcoin` 带熊鼠 认证和无 `api-key` 查询。 它的外观有十二个名字 通过SDK拥有的方法和保持通用数字结果无损失 `BitcoinJsonNumber` 类型; `getBlockCount()` 返回时 `bigint`。 。 。 .

偏差只曝光 `eth_chainId`, (中文(简体) ), `eth_getBalance`,以及 `eth_call`主办单位 路由使用有限链路 `https://edge.erpc.global/arbitrum`直接时 端点取出器将源头和根切片暴露为诊断. 托管基地 用途 `https://base.erpc.global/`; 直接 Base 请求只遵循相同的来源 诊断规则。 主机和直接基地/Arbitrum都要求进行地表定向 作为 HTTP 错误并进行一次尝试。 一个未配置的外观报告 空端点在 I/O 之前失败 .

```ts
const erpc = createErpcClient({ apiKey: process.env.ERPC_API_KEY! })

const bitcoinHeight = await erpc.bitcoin.rpc.getBlockCount().send()
const arbitrumChainId = await erpc.arbitrum.rpc.eth_chainId().send()
console.log({ bitcoinHeight, arbitrumChainId })
erpc.close()
```

## 基准只读 RPC(自 `0.9.0`(中文(简体) )

这个 `0.9.0` API 密钥客户端使用 `https://base.erpc.global/` 位于根 JSON-RPC 中 路径. Base 连接的第一个检查应该是 `eth_chainId()` 并且必须返回 `0x2105` (Base主网). 以下使用目录的 Base EURC 记录和 用整数算法格式化原始响应:

```ts
import {
  createErpcClient,
  getTokenDeployment,
  tokens,
} from '@elsoul/erpc-sdk'

const erpc = createErpcClient({ apiKey: process.env.ERPC_API_KEY! })
const wallet = '0x7A5837f5bB52C53e08fcFf214c2Cd11daa8EF9EE'
const eurc = getTokenDeployment(tokens.base.EURC)
if (eurc?.address === null || eurc === undefined) {
  throw new Error('Base EURC is missing from the catalog')
}

const chainId = await erpc.base.rpc.eth_chainId().send()
if (chainId !== '0x2105') throw new Error(`Unexpected Base chain: ${chainId}`)

const nativeWei = BigInt(
  await erpc.base.rpc.eth_getBalance(wallet, '0x3167564').send(),
)
const calldata = `0x70a08231${wallet.slice(2).padStart(64, '0')}`
const eurcAtomic = BigInt(
  await erpc.base.rpc.eth_call(
    { to: eurc.address, data: calldata },
    '0x3167564',
  ).send(),
)

const formatUnits = (value: bigint, decimals: number): string => {
  const scale = 10n ** BigInt(decimals)
  const whole = value / scale
  const fraction = (value % scale).toString().padStart(decimals, '0').replace(/0+$/u, '')
  return fraction.length === 0 ? whole.toString() : `${whole}.${fraction}`
}

const eurcDisplay = formatUnits(eurcAtomic, eurc.decimals)
// Pinned review read: eurcAtomic === 5_500_000n and eurcDisplay === '5.5'.
console.log({ chainId, nativeWei, eurcAtomic, eurcDecimals: eurc.decimals, eurcDisplay })
erpc.close()
```

对于一个无密钥的呼叫者拥有的端点, 使用 `baseRpc`。它的 URL 路径和查询是 完全按照配置发送,其信头仍保留到基地范围:

```ts
const erpc = createErpcClient({
  baseRpc: {
    httpUrl: process.env.ERPC_BASE_RPC_URL!,
    headers: { authorization: 'Bearer node-token' },
  },
})

const chainId = await erpc.base.rpc.eth_chainId().send()
```

基地客户端只曝光 `rpc`; 内部只读的外观完全 `endpoint`, (中文(简体) ), `eth_chainId`, (中文(简体) ), `eth_getBalance`,以及 `eth_call`它没有规定 原始、批发、订阅、签署或广播方法. `baseEndpoint` 转发 aPI主要密钥和全局头, 所以只用它为呼叫者信任, eRPC相容主机. `baseRpc` 优先于全球 头;它只发送明确在直接覆盖范围内的证书.

## 钱包、签名和广播

`ErpcClient` 没有钱包、私钥或签名器配置。 交换 筹备和玛雅会议 `buildUnsigned` 返回未签名的交易信封; 客户拥有账户选择、津贴变动、非现金和收费政策, 交易审查、钥匙保管、签名、广播和确认。 这个 `from`, (中文(简体) ), `sender`, (中文(简体) ), `swapperAddress`,以及 `feePayer` 字段为公共身份 支票,不是签名授权。 一项未决的RPC请求 `.send()` 执行 网络请求,而不签署字节.

| 关切 | 拥有者 |
| --- | --- |
| 钥匙或硬件钱包保管 | 呼叫程序或钱包提供者 |
| 交易和津贴审查 | 调用程序与用户 |
| 密码签名 | 外部钱包或签名符 |
| 已签名字节广播 | 调用者选择的ERPC RPC方法 |
| 确认和解决的解释 | 调用程序 |

见 [共享钱包和签名模式](https://github.com/elsoul/erpc-sdk/blob/main/README.md#wallets-and-signing) 编辑 [类型脚本签名和广播指南](https://github.com/elsoul/erpc-sdk/blob/main/packages/typescript/docs/signing-and-broadcast.md) 用于初始化醚 6和 `@solana/web3.js` 1.x 实例。 指南保留 仅用于网络检查和发送签名字节的 RPC URL 完全相同 通过ERPC.

## 离线令牌目录

符号目录与软件包捆绑在一起,所以不需要一个 `ErpcClient`,API密钥,或网络请求. 部署身份证不透明 连锁别名直接暴露这些ID:

```ts
import {
  TOKEN_CHAIN_IDS,
  findTokenDeploymentsBySymbol,
  listTokenDeployments,
  tokens,
} from '@elsoul/erpc-sdk'

const usdcByChain = {
  ethereum: findTokenDeploymentsBySymbol(
    TOKEN_CHAIN_IDS.ethereumMainnet,
    'USDC',
  ),
  solana: findTokenDeploymentsBySymbol(TOKEN_CHAIN_IDS.solanaMainnet, 'USDC'),
  avalancheC: findTokenDeploymentsBySymbol(
    TOKEN_CHAIN_IDS.avalancheCMainnet,
    'USDC',
  ),
}

const canonicalEthereumUsdcId = tokens.ethereum.USDC
const usdDeployments = listTokenDeployments({ stableCurrency: 'USD' })
```

结果包括每个匹配的部署及其状态,小数, 标准、地址和平分资产元数据。 见 [犬科登记指南](https://github.com/elsoul/erpc-sdk/blob/main/registry/README.md) 用于源数据和ID政策.

## 离线令牌排名

排名数据作为不可改变的快照捆绑,没有 API 密钥或网络请求 :

```ts
import {
  TOKEN_CHAIN_IDS,
  TOKEN_RANKINGS_METADATA,
  listTokenRankings,
} from '@elsoul/erpc-sdk'

const ethereumRankings = listTokenRankings(TOKEN_CHAIN_IDS.ethereumMainnet)
console.log({ status: TOKEN_RANKINGS_METADATA.status, ethereumRankings })
```

行使用在 `TOKEN_RANKINGS_METADATA`。对于本地总供给值计量,数值为 原子原生单位的精确合理值。 该快照可以不配置 或部分,没有当前时间过滤,不获取活价或 提供数据;在将其元数据作为当前数据排列之前先检查.

## 离线DEX和池目录

DEX部署、集合地址、本土/包装关系,以及 链式合格化名作为生成的数据捆绑. 这些表情是 离线并使用不透明的ID, 因此无法混淆 Ethereum USDC 地址 部署有:

经审查的DEX目录和互换出口被引入 `0.7.0`。 。 。 . 以下未署名的EVM准备和模拟介绍于 `0.8.0` 财务报告和审定财务报表 需要那个包裹.

```ts
import {
  DEX_CHAIN_IDS,
  dexes,
  findPoolDefinitionsByPair,
  getNativeWrapDefinition,
  pools,
  tokens,
} from '@elsoul/erpc-sdk'

const ethereumPools = findPoolDefinitionsByPair(
  DEX_CHAIN_IDS.ethereum,
  tokens.ethereum.WETH,
  tokens.ethereum.USDC,
)
const uniswap = dexes.ethereum.UNISWAP_V2
const weth = getNativeWrapDefinition(tokens.ethereum.ETH)
const pool = pools.ethereum.UNISWAP_V2_USDC_WETH
```

经审查的Ethereum Uniswap V2 和 Avalanche LFJ 遗留的常量产品 池支持 RPC 仅精确输入引用 。 索拉纳·奥尔卡和雷迪姆的记录 在添加其 CMM 引号适配器时可供查找 。 目录 增长增加了检索和监测数据;它没有含蓄地增加互换 资格 :

```ts
const quote = await erpc.swap.quoteExactInput({
  chainId: DEX_CHAIN_IDS.ethereum,
  poolDefinitionId: pool,
  inputTokenDeploymentId: tokens.ethereum.WETH,
  outputTokenDeploymentId: tokens.ethereum.USDC,
  amountIn: '1000000000000000000',
})

console.log(quote.amountOut)
```

引文在一个 EIP-1898 块快照上读取了配置的 EVM RPC并应用 本地常量产品公式。 请求不构建,签署, 模拟或广播交易; 路由选择、 滑行、 接通, 而索拉纳CLMM的执行是不同的能力.

经审查的2个EVM组还支持未署名的ERC-20准确投入 准备和RPC模拟:

```ts
const request = {
  chainId: DEX_CHAIN_IDS.ethereum,
  poolDefinitionId: 'pool-0001',
  inputTokenDeploymentId: tokens.ethereum.WETH,
  outputTokenDeploymentId: tokens.ethereum.USDC,
  amountIn: '1000000000000000000',
  sender: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
  recipient: '0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',
  slippageBps: 50,
  deadline: String(Math.floor(Date.now()/1000)+300),
}

const prepared = await erpc.swap.prepareExactInputSwap(request)

const simulation = await erpc.swap.simulateExactInputSwap(request)
```

准备执行新的引号, 验证已审查的路由器并包裹 本地部署, 并返回一个不可改变的链式无签名交易 信封上写着 它不创建批准调用数据、 签名、 发送或填写钱包 字段。 审查 `prepared.transaction`,然后将打出的信封传递给 外部签名器和 ERPC 中唯一的广播助手 [类型脚本签名和广播指南](https://github.com/elsoul/erpc-sdk/blob/main/packages/typescript/docs/signing-and-broadcast.md)。 。 。 .

使用 `simulation` 检查犬科津贴和路由器 金额,然后请打电话者的钱包管理津贴、签名或 广播。 模拟本身只读,只使用 配置 RPC 运输 .

## 可选的Mayan Swift v2 桥

发表 `0.8.1` API 提供 Mayan Swift v2 客户端作为明确 独立适配器,用于Ethereum和Ethereum之间经审查发布的EURC线路 索拉纳 它不附在默认值上 `ErpcClient`; 单独构造 当外部提供者及其解决者、中继者和探索者依赖者 可接受:

```ts
import {
  createMayanSwiftV2BridgeClient,
  TOKEN_CHAIN_IDS,
} from '@elsoul/erpc-sdk'

const mayan = createMayanSwiftV2BridgeClient({
  builderEndpoint: 'https://tx-builder.mayan.finance',
  explorerEndpoint: 'https://explorer-api.mayan.finance/v3',
})
const quotes = await mayan.quoteExactInput({
  sourceChainId: TOKEN_CHAIN_IDS.ethereumMainnet,
  destinationChainId: TOKEN_CHAIN_IDS.solanaMainnet,
  sourceTokenDeploymentId: 'deployment-0011',
  destinationTokenDeploymentId: 'deployment-0013',
  amountIn: '1000000',
  slippageBps: 50,
})
```

此无密钥引用示例反映了提供者所记录的可选密钥 政策. `buildUnsigned` 设有单独的SDK警卫: 提供由呼叫员管理 `builderApiKey` 在构建客户端中,或明确设置 `allowUnauthenticatedBuild: true` 允许无键尝试。 选入是 不覆盖提供者认证 .

适配器张贴到玛雅的准确路线请求 `/quote`,保留 提供方签名的引文文本,并可以构建结构检查后未签名的文本 源交易为 `buildUnsigned`。它不核实提供者 在当地签字或证明和解,不签署、批准、提交、, 退款或广播交易。 将其未签名的打字信封传递给 外部签名器仅在审查之后; 签名和仅限ERPC的广播流程是 显示于 [类型脚本签名和广播指南](https://github.com/elsoul/erpc-sdk/blob/main/packages/typescript/docs/signing-and-broadcast.md)。 。 。 .

`builderEndpoint` 财务报告和审定财务报表 `explorerEndpoint` 默认为 `https://tx-builder.mayan.finance` 财务报告和审定财务报表 `https://explorer-api.mayan.finance/v3`· ; 设定它们为调用者批准的基址,以自定义提供者端点. `getStatus` 阅读索引状态终点并报告提供者的断言 作为未经核实的地方定居州. `builderApiKey` 一个单独的玛雅人 只发送到构建键 `/build`引用和状态电话都接收不到, 并且不提交ERPC证书.

玛雅认证有三个独立的层:

| 层 | 行为 |
| --- | --- |
| 玛雅文献 | 引用和交易构建器文档将服务密钥描述为可选. |
| SDK 政策 | `buildUnsigned` 需求 `builderApiKey` 默认; `allowUnauthenticatedBuild: true` 只允许呼叫者进行无密钥的 HTTP 尝试 . |
| 主办观察 | 2026-09-17日,有4个EURC/USDC引文在没有密钥的情况下返回了HTTP 200;默认构建没有提出请求,而明确无密钥 `/build` 尝试返回 HTTP 401 。 这是有限度的证据,不是永久性的提供者要求. |

公众 `0.9.0` 软件包支持审查后发布的欧元委员会指令和 本地USDC直通路线. 本地USDC使用Mayan的 SWIFT 直通路线并使用 不添加木星或其它主机源交换依赖.

这个 `0.8.1` 维护补丁更新工人获取引用边界; 不包括原生的USDC或当地未签名的建设者路径 在公众中 `0.9.0` 软件包.

### 当地未签字的建筑

公众 `0.9.0` 软件包会显示一个明确的无密钥构建路径 (c) 所审查的欧洲经济共同体和原发的USDC指示。 传递一个主机正常引用 和新鲜的公众16字节 `orderNonce` 改为 `prepareSourceSwap`,然后通过它的 计划 `buildLocalUnsigned`数字 :

```ts
const localClient = createMayanSwiftV2BridgeClient({
  localBuild: {
    sourceSwapEndpoint: 'https://price-api.mayan.finance/v3',
    ethereumRpc: { httpUrl: 'https://your-ethereum-rpc.example' },
    solanaRpc: { httpUrl: 'https://your-solana-rpc.example' },
  },
})

const context = {
  quote: quotes[0],
  swapperAddress: '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
  destinationAddress: 'HQhyrHjgq5ftgsibxdUwLvDZ5HT4c9bNuBWJMmZvTd5b',
  orderNonce: '0x00112233445566778899aabbccddeeff',
}
const sourceSwapPlan = await localClient.prepareSourceSwap(context)
const unsigned = await localClient.buildLocalUnsigned({
  ...context,
  sourceSwapPlan,
})
```

`buildLocalUnsigned` 需要匹配 源链. 它执行限定的只读身份和字节飞行前保存 ,然后返回一个未签名的 EVM 或 Solana 信封. 本地源码扫描请求是匿名的,没有使用玛雅构建键;直接 USDC 用途 `{ kind: 'none' }` 并且不请求源代码。 没有 返回主机 `/build`,而本地路径从不创建密钥,批准, 签署、提交、广播或索赔结算。 打电话者拥有钱包 和所有签名和PRPC广播步骤 [类型脚本签名和广播指南](https://github.com/elsoul/erpc-sdk/blob/main/packages/typescript/docs/signing-and-broadcast.md)。 。 。 .

这些当地方法和当地USDC线路在公众中被引入 `0.9.0` 基线。 桥是API留下的 具有可选外部提供者的明确独立欧元/本土-USDC适配器 依赖性和配置的源-RPC要求,而普通互换 继续使用配置的 RPC 和本地逻辑 .

## 命名空间

| 命名空间 | 目的 |
| --- | --- |
| `erpc.solana.rpc` | 索拉纳·杰森-里普克 |
| `erpc.solana.das` | 指数化资产和债券 |
| `erpc.solana.history` | 处理交易和转让 |
| `erpc.solana.leaders` | 领导槽和验证符信息 |
| `erpc.solana.analytics` | Epoch、插槽、程序和TPS分析 |
| `erpc.solana.subscriptions` | 增强的 WebSocket 订阅 |
| `erpc.ethereum.rpc` | 爱特鲁姆·杰森-RPC |
| `erpc.ethereum.subscriptions` | Ethereum WebSocket 订阅 |
| `erpc.avalanche.rpc` | Avalanche C-Chain EVM 相容的 JSON-RPC |
| `erpc.avalanche.subscriptions` | Avalanche C-Chain WebSocket 订阅程序 |
| `erpc.avalanche.avax` | C-Chain AVAX 原子交易 API |
| `erpc.avalanche.xChain` | X-Chain API (韩语) |
| `erpc.avalanche.pChain` | P-Chain API (英语) |
| `erpc.avalanche.proposerVm` | P-Chain 提案人 VM API |
| `erpc.avalanche.info` | 网络升级信息 |
| `erpc.avalanche.index` | C/P/X区块和X交易指数 |
| `erpc.price` | 价格元数据、更新和流 |
| `erpc.account` | ERPC 代号余额 |
| `erpc.usage` | 每月假面的 API 密钥使用量 |

`avalancheEndpoint` 默认为 `https://ava-rpc.erpc.global` 并且能够 独立于共享 `endpoint` 选项。 SDK会用它 `/ava` HTTP 路线和 `/ava-ws` WebSocket路线. 原生C/P/X方法名称 参数; 索引调用方式为所需的明确链/容器 路径。 土著和指数批次在当地被拒绝。 使用 `raw` 准确 用于前向相容性的线形方法名称 .

## 实例

```ts
const asset = await erpc.solana.das.getAsset({ id: assetId }).send()

const block = await erpc.ethereum.rpc
  .eth_getBlockByNumber('latest', false)
  .send()

const avalancheBlock = await erpc.avalanche.rpc
  .eth_getBlockByNumber('latest', false)
  .send()

const pChainHeight = await erpc.avalanche.pChain.getHeight().send()
const xChainHeight = await erpc.avalanche.xChain.getHeight().send()
const indexedTransaction = await erpc.avalanche.index.xChainTransactions
  .getContainerByID({ id: transactionId })
  .send()

const prices = await erpc.price.getLatestPriceUpdates({
  ids: [feedId],
  parsed: true,
})

const heads = await erpc.ethereum.subscriptions.subscribe(
  'newHeads',
  (header) => console.log(header),
)

await heads.unsubscribe()
erpc.close()
```

API- key 月用法可从同一客户端获得:

```ts
const usage = await erpc.usage.getMonthlyApiKeyUsage({
  yearMonth: '2026-08',
})
```

对于范围化的ERPC Cloud OAuth访问符,创建无法接收的客户端 或保留刷新全权证书:

```ts
import { createErpcCloudClient } from '@elsoul/erpc-sdk'

const cloud = createErpcCloudClient({ accessToken })
const catalog = await cloud.catalog.list()
const credit = await cloud.credit.get()
const resources = await cloud.resources.list()
const first = resources[0]
const status = first ? await cloud.resources.getStatus(first.id) : undefined
const monthlyUsage = await cloud.usage.getMonthlyApiKeyUsage()
```

在有记录的公众中预测目录、信用和资源成果 字段。 交互式登录和操作系统密钥链存储属于 eRPC 命令行客户端.

## 原始方法

从ERPC获得的打入目录跟踪方法. 原始 API 提供 与新引入的服务器方法的转发兼容性 :

```ts
const result = await erpc.solana.rpc
  .raw<MyResult>('futureMethod', [{ enabled: true }])
  .send()
```

## 文档

-   [完整指南](https://github.com/elsoul/erpc-sdk#readme)
-   [索拉纳交易 v1 指南](https://github.com/elsoul/erpc-sdk/blob/main/packages/typescript/docs/solana-v1.md)
-   [方法的可用性](https://github.com/elsoul/erpc-sdk/blob/main/docs/METHODS.md)
-   [路线图](https://github.com/elsoul/erpc-sdk/blob/main/ROADMAP.md)
-   [安全政策](https://github.com/elsoul/erpc-sdk/blob/main/SECURITY.md)

## 附加只读链条外观

该软件包还曝光了被封存的, HTTP- 仅读取Polygon PoS, BNB 的客户端 智能链 OP Mainnet 开亚 索尼姆 蒙纳德 超液态超高超EVM Arc, (原始内容存档于2017-10-10). Robinhood chain public Mainnet, and TRON. 每个外表只包含 `eth_chainId`, (中文(简体) ), `eth_getBalance`, (中文(简体) ), `eth_call`,以及 `endpoint`它没有生的, 请求、批量、订阅、签名、广播、交换或桥面. 从生成的 RPC 合同中选择主机默认值 。 呼叫者拥有 `<chain>Rpc` 端点覆盖保存其完整的 HTTP 目标并发送 只有端点瞄准镜头.

NEAR被曝光为 `erpc.near.rpc` 键入 `status`, (中文(简体) ), `block`,并固定 `viewAccount` 读取。 块选择者使用一个命名 `finality` 或者说 `blockId` 对象,u64字段为 `bigint`,货币和纳秒弦仍为接线 字符串和未知的数字字段保留不可变的 SDK 属下 `NearJsonNumber` 代表权.

苏伊被曝光为 `erpc.sui.grpc` 与准确 `getServiceInfo`, (中文(简体) ), `getObject`, (中文(简体) ), 财务报告和审定财务报表 `getBalance`。这些调用使用绑定的二进制 gRPC-Web 协议和 a 免依赖的私人密码。 sui u64/i64 值为 `bigint`; 终点 配置为 `suiGrpcWeb: { baseUrl, headers }` 只附加三个 已核准服务路径.

## 许可证

软件包结合了 ERPC SDK 原始源 [麻省理工学院](https://github.com/elsoul/erpc-sdk/blob/main/LICENSE) 和经过调整的苏伊预测 [阿帕奇 - 2.0](https://npmcn.com/package/%40elsoul/erpc-sdk/LICENSES/Apache-2.0.txt) 和私人时间戳投影 [BSD-3- 标签](https://npmcn.com/package/%40elsoul/erpc-sdk/LICENSES/BSD-3-Clause-Google-Protobuf.txt)。总计 软件包表达式是 `MIT AND Apache-2.0 AND BSD-3-Clause`; 见 [第三次议会 NoTICES.md](https://npmcn.com/package/%40elsoul/erpc-sdk/THIRD_PARTY_NOTICES.md) 用于源针和 组件映射.

## 常见问题

### @elsoul/erpc-sdk 是什么？

用于ERPC的多网络类型安全SDK

### 如何安装 @elsoul/erpc-sdk？

在项目目录运行 npm install @elsoul/erpc-sdk，或使用 pnpm add / yarn add / bun add。

### @elsoul/erpc-sdk 支持 TypeScript 吗？

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

### @elsoul/erpc-sdk 支持 ESM 还是 CommonJS？

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

### @elsoul/erpc-sdk 需要什么版本的 Node\.js？

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

### @elsoul/erpc-sdk 可以商用吗？

@elsoul/erpc-sdk 使用 MIT AND Apache-2\.0 AND BSD-3-Clause 许可。声明的许可为 MIT AND Apache-2\.0 AND BSD-3-Clause，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @elsoul/erpc-sdk 的下载量有多少？

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

### @elsoul/erpc-sdk 还在维护吗？

最新版本 0\.11\.0 发布于 2026/10/25（19 天前）；至今共发布 12 个版本，其中过去 12 个月发布了 12 个；首次发布于 2026/08/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

