# @atomrigslab/providers 中文文档

规范地址：https://npmcn.com/package/%40atomrigslab/providers/

版本：1\.1\.0
npm 元数据更新时间：2024-07-11T00:03:31.107Z
中文译文更新时间：2026-11-07T03:44:02.823Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40atomrigslab/providers
原文对照：https://npmcn.com/package/%40atomrigslab/providers/?lang=original
项目主页：https://github.com/atomrigslab/dekey-providers#readme
源码仓库：https://github.com/atomrigslab/dekey-providers

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

- 包体积（解压后）：104 kB，34 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=12\.0\.0
- 运行依赖：12 个
- 首次发布：2023-02-27T03:53:52.050Z
- 最新版本发布：2024-07-11T00:03:30.897Z
- 近 30 天下载量：18958（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

一个JavaScript Ethereum提供商通过一流连接到钱包.

## 安装

```sh
npm install @atomrigslab/providers
```

也可以使用：`pnpm add @atomrigslab/providers`、`yarn add @atomrigslab/providers`、`bun add @atomrigslab/providers`

## README

# 元任务提供商

MetaMask向各种环境注入的Ethereum提供者对象. 包含许多针对 MetaMask 的具体实施细节, 并且可能是 不适合与其他钱包一起外出使用.

这个 `BaseProvider` 执行 Ethereum JavaScript 提供者的规格([EIP-1193 (英语)](https://eips.ethereum.org/EIPS/eip-1193)),但必须被子类修改才能运行. `StreamProvider` 这样的子类,它通过双流同步状态并生成 JSON-RPC 消息. `MetamaskInpageProvider` 进一步扩展 `StreamProvider` 除支持传统供应商接口外 [EIP-1193 (英语)](https://eips.ethereum.org/EIPS/eip-1193),用于将 MetaMask 注入网页的对象作为 `window.ethereum`。 。 。 .

## 使用量

```javascript
import { initializeProvider } from '@metamask/providers';

// Create a stream to a remote provider:
const metamaskStream = new LocalMessageDuplexStream({
  name: 'inpage',
  target: 'contentscript',
});

// this will initialize the provider and set it as window.ethereum
initializeProvider({
  connectionStream: metamaskStream,
});

const { ethereum } = window;
```

### 类型

类型在 `index.d.ts`。 。 。 . 他们需要节点Js `EventEmitter` 财务报告和审定财务报表 `Duplex` 溪流类型, 您可以从中抓取, 例如 . [`@types/node`](https://npmjs.com/package/@types/node)。 。 。 .

### 不修改提供者

提供方对象在任何情况下都不应被消费者变异. 此软件包的维护者不会对第三方变异提供者对象所引发的bug进行修饰,也不会承担应答.

## 捐款

### 设置

-   安装 [节点.js](https://nodejs.org/) 版本 12
    -   使用时 [数字](https://github.com/creationix/nvm#installation) (建议)运行 `nvm use` 将自动为您选择正确的节点版本.
-   安装 [亚伦 v1](https://yarnpkg.com/en/docs/install)
-   运行 `yarn setup` 以安装依赖关系并运行任何重新安装后的脚本
    -   **警告:** 不使用该 `yarn` 编号 : `yarn install` 直接命令。 使用 `yarn setup` 换句话说 正常的安装命令会跳过所需的安装后脚本,使您的开发环境处于无效状态.

### 测试和定时

运行 `yarn test` 测试一次。 要运行文件更改的测试, 请运行 `yarn test:watch`。 。 。 .

运行 `yarn lint` 以运行线条或运行 `yarn lint:fix` 运行电线,并解决任何可自动解决的问题.

### 发行( P)

该项目遵循与MetaMask组织其他库相同的发布程序:

1.  创建释放分支
    -   对于典型的发布,这将基于 `main`
    -   为了更新一个保存了更久的主要版本,发行分支以主要版本分支(例如. `1.x`(中文(简体) )
2.  更新更改日志
3.  在 package.json 文件(如. `yarn version --minor --no-git-tag-version`(中文(简体) )
4.  创建针对基分支的拉动请求(例如. `main` 或者说 `1.x`(中文(简体) )
5.  守则审查和质量保证
6.  批准后, PR 将被挤压并合并
7.  基地分支上的承诺被标记
8.  标签可根据需要发布

## 常见问题

### @atomrigslab/providers 是什么？

一个JavaScript Ethereum提供商通过一流连接到钱包\.

### 如何安装 @atomrigslab/providers？

在项目目录运行 npm install @atomrigslab/providers，或使用 pnpm add / yarn add / bun add。

### @atomrigslab/providers 支持 TypeScript 吗？

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

### @atomrigslab/providers 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @atomrigslab/providers 需要什么版本的 Node\.js？

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

### @atomrigslab/providers 可以商用吗？

@atomrigslab/providers 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @atomrigslab/providers 的下载量有多少？

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

### @atomrigslab/providers 还在维护吗？

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

