元任务提供商
MetaMask向各种环境注入的Ethereum提供者对象. 包含许多针对 MetaMask 的具体实施细节, 并且可能是 不适合与其他钱包一起外出使用.
这个 BaseProvider 执行 Ethereum JavaScript 提供者的规格(EIP-1193 (英语)),但必须被子类修改才能运行.
StreamProvider 这样的子类,它通过双流同步状态并生成 JSON-RPC 消息.
MetamaskInpageProvider 进一步扩展 StreamProvider 除支持传统供应商接口外 EIP-1193 (英语),用于将 MetaMask 注入网页的对象作为 window.ethereum。 。 。 .
使用量
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。 。 。 .
不修改提供者
提供方对象在任何情况下都不应被消费者变异. 此软件包的维护者不会对第三方变异提供者对象所引发的bug进行修饰,也不会承担应答.
捐款
设置
- 安装 节点.js 版本 12
- 使用时 数字 (建议)运行
nvm use将自动为您选择正确的节点版本.
- 使用时 数字 (建议)运行
- 安装 亚伦 v1
- 运行
yarn setup以安装依赖关系并运行任何重新安装后的脚本- 警告: 不使用该
yarn编号 :yarn install直接命令。 使用yarn setup换句话说 正常的安装命令会跳过所需的安装后脚本,使您的开发环境处于无效状态.
- 警告: 不使用该
测试和定时
运行 yarn test 测试一次。 要运行文件更改的测试, 请运行 yarn test:watch。 。 。 .
运行 yarn lint 以运行线条或运行 yarn lint:fix 运行电线,并解决任何可自动解决的问题.
发行( P)
该项目遵循与MetaMask组织其他库相同的发布程序:
- 创建释放分支
- 对于典型的发布,这将基于
main - 为了更新一个保存了更久的主要版本,发行分支以主要版本分支(例如.
1.x(中文(简体) )
- 对于典型的发布,这将基于
- 更新更改日志
- 在 package.json 文件(如.
yarn version --minor --no-git-tag-version(中文(简体) ) - 创建针对基分支的拉动请求(例如.
main或者说1.x(中文(简体) ) - 守则审查和质量保证
- 批准后, PR 将被挤压并合并
- 基地分支上的承诺被标记
- 标签可根据需要发布