@elsoul/erpc-sdk

中文文档
0.11.0发布于 2026/10/25MIT AND Apache-2.0 AND BSD-3-ClauseTypeScriptESM + CJS构建来源已验证近 30 天下载 6293

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

中文使用文档
文档目录16 节
  1. 安装
  2. 快开始
  3. 直接RPC终点(引入于0.8.0)
  4. 基准只读 RPC(自 0.9.0 (中文(简体) )
  5. 钱包、签名和广播
  6. 离线令牌目录
  7. 离线令牌排名
  8. 离线DEX和池目录
  9. 可选的Mayan Swift v2 桥
  10. 当地未签字的建筑
  11. 命名空间
  12. 实例
  13. 原始方法
  14. 文档
  15. 附加只读链条外观
  16. 许可证

@elsoul/erpc-sdk

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

此指南描述版本 0.11.0。检查 npm 注册版本 页:1 安装前已发布软件包可用性 .

安装

# Check the npm registry for availability before installing:
npm install @elsoul/[email protected]
# or: pnpm add @elsoul/[email protected]
# For source validation, use this checkout and its configured local checks.

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

快开始

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 释放 为活人服务 出版状况.

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

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和信头:

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 之前失败 .

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 记录和 用整数算法格式化原始响应:

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 路径和查询是 完全按照配置发送,其信头仍保留到基地范围:

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方法
确认和解决的解释调用程序

见 共享钱包和签名模式 编辑 类型脚本签名和广播指南 用于初始化醚 6和 @solana/web3.js 1.x 实例。 指南保留 仅用于网络检查和发送签名字节的 RPC URL 完全相同 通过ERPC.

离线令牌目录

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

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' })

结果包括每个匹配的部署及其状态,小数, 标准、地址和平分资产元数据。 见 犬科登记指南 用于源数据和ID政策.

离线令牌排名

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

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 财务报告和审定财务报表 需要那个包裹.

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 引号适配器时可供查找 。 目录 增长增加了检索和监测数据;它没有含蓄地增加互换 资格 :

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模拟:

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 中唯一的广播助手 类型脚本签名和广播指南。 。 。 .

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

可选的Mayan Swift v2 桥

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

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的广播流程是 显示于 类型脚本签名和广播指南。 。 。 .

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数字 :

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广播步骤 类型脚本签名和广播指南。 。 。 .

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

命名空间

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

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

实例

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 月用法可从同一客户端获得:

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

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

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 提供 与新引入的服务器方法的转发兼容性 :

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

文档

附加只读链条外观

该软件包还曝光了被封存的, 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 原始源 麻省理工学院 和经过调整的苏伊预测 阿帕奇 - 2.0 和私人时间戳投影 BSD-3- 标签。总计 软件包表达式是 MIT AND Apache-2.0 AND BSD-3-Clause; 见 第三次议会 NoTICES.md 用于源针和 组件映射.

版本与发布记录

@elsoul/erpc-sdk 共发布 12 个版本,首次发布于 2026/08/28;过去 12 个月发布了 12 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.11.0latest2026/10/2519 天前
0.9.12026/10/2321 天前
0.9.02026/09/261 个月前
0.8.12026/09/241 个月前
0.8.02026/09/171 个月前
0.7.02026/09/171 个月前

关于 @elsoul/erpc-sdk 的常见问题

@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 和提交记录判断。