【亲测免费】 波卡(Polkadot)浏览器扩展插件 {.js}
Polkadot{.js} Extension 是一个轻量级的浏览器扩展程序,它为网页注入了一个@polkadot/api签署者和相关的账户,使任何去中心化应用(dapp)都能直接利用。这个概念验证(POC)实现是一个可扩展的 Polkadot/Substrate 浏览器签名工具。
目前,该扩展的主要功能是管理账户,并允许使用这些账户进行交易签名。它不直接为 dapp 注入提供者,也不执行构建并提交到网络的交易钱包功能。
安装
在 Chrome 和 Firefox 上安装 Polkadot{.js} Extension 非常简单:
- Chrome:通过Chrome网络商店安装。
- Firefox:通过Mozilla附加组件安装。

文档与示例
了解更多如何作为 dapp 开发人员使用该扩展的详细信息,包括食谱和常见问题解答,请参阅Polkadot-js 扩展文档。
开发版本
如果你想构建开发版并在浏览器中查看你的改动:
- 使用
yarn build构建。 - 安装扩展:
- Chrome:
- 访问
chrome://extensions/。 - 确保“开发者模式”设置开启。
- 点击“加载已解压的扩展程序”,指向
packages/extension/build。 - 如果正在开发,修改后刷新扩展。
- 访问
- Firefox:
- 访问
about:debugging#addons。 - 启动“启用附加组件调试”。
- 点击“临时加载附加组件”,选择
packages/extension/build/manifest.json。 - 如果开发中,更改后重新加载扩展。
- 访问
- Chrome:
- 当访问
https://polkadot.js.org/apps/时,它将注入扩展。
添加后,你可以创建新账户(通过自动生成种子),或导入现有种子。在访问 apps UI 时,会显示这些账户为 <account name> (extension)。
开发者
仓库分为多个包:
- extension - 主入口,包含注入和后台处理逻辑。
- extension-ui - 构建弹出窗口的 UI 组件。
- extension-dapp - 用于简化数据提取的方便包装器,适用于希望集成扩展的任何 dapp。
- extension-inject - 用于注入扩展以便 dapp 使用的薄包装器。
Dapp 开发者
Dapp 开发者的详细技术说明可在下一节找到,以了解如何与注入的对象直接交互。不过,提供了便利的包装器,使得任何 dapp 可以轻松使用此扩展(或其他符合接口的扩展),而无需管理额外信息。
Dapp 开发的文档可在 polkadot-js 文档中找到。更多关于便利包装器 @polkadot/extension-dapp 的信息以及使用样本,请查阅。
API 接口
扩展注入接口是通用的,设计目的是让任何扩展开发者可以轻松地注入扩展(只要遵循特定接口),同时也让任何 dapp 开发者能够轻松地启用来自多个扩展的接口。这不是全有或全无的方法,而是生态系统,让用户可以选择最适合自己的扩展。
从 dapp 开发者的角度来看,唯一的工作就是包含 @polkadot/extension-dapp 包并调用适当的启用函数以获取所有扩展及其相关接口。
对于扩展开发者来说,唯一需要做的就是通过极简的 @polkadot/extension-inject 包装器启用扩展。使用上述接口的 dapp 将可以通过这个接口访问扩展。
如果有多个扩展,每个都会通过注入接口填充条目,并向 dapp 提供。由 enable 返回的 Injected 接口包含以下信息,对所有兼容的扩展都是可用的。
interface Injected {
// 账户接口,如下面详细描述
readonly accounts: Accounts;
// 标准 API 的签署者接口,如下面详细描述
readonly signer: Signer;
// 目前尚未注入,API 的订阅提供者,可以在 dapp 中的 API 构造过程中传递
// readonly provider?: Provider
}
interface Account = {
// SS58 编码的地址
readonly address: string;
// 此账户的创世哈希(如果适用所有,则为空)
readonly genesisHash?: string;
// (可选)用于显示的名称
readonly name?: string;
};
// 暴露账户
interface Accounts {
// 获取当前的账户列表
get: () => Promise<Account[]>;
// (可选)订阅所有账户,当它们改变时更新
subscribe?: (cb: (accounts: Account[]) => any) => () => void
}
// 通过 sendMessage 进行通信的签署者
interface Signer extends SignerInterface {
// 没有特定的签署者扩展,仅暴露 `sign` 接口,供 polkadot-js API 使用,
// 符合该 API 的 Signer 接口
}
注射信息
本部分中的信息可能会变化和发展。因此,建议所有 dapp 通过 @polkadot/extension-dapp(对于 dapp)和 extension-inject(对于扩展)包进行访问,从而避免与较低级别的目标直接交互。
扩展将 injectedWeb3 注入全局 window 对象,暴露出以下内容:(这是为了扩展通用,允许任何 dapp 利用多个签名人,从多个扩展中获取账户。)
window.injectedWeb3 = {
// 此为扩展名,可能有多个注入,
// 每个都有自己的键,这里的 `polkadot-js` 是针对此扩展的
'polkadot-js': {
// 包的语义版本
version: '0.1.0',
// 这被调用来启用注入,返回一个注入对象,
// 其中包含账户、签署者和提供者接口
// 或在未授权的情况下拒绝
enable (originName: string): Promise<Injected>
}
}
库纳词、密码和导入/导出
从扩展中使用库纳词和密码
通过扩展创建密钥对时,会提供一个12字库纳词种子,并要求您创建一个密码。此密码只在磁盘上加密私钥,因此需要密码才能在 polkadot-js/apps 中花费资金或从备份导入账户。但密码并不能保护库纳词短语。也就是说,如果攻击者获得了库纳词短语,他们就能在没有密码的情况下花费资金。
导入库纳词自其他密钥生成工具
一些密钥生成工具(如 Subkey)支持硬和软密钥派生以及加密库纳词短语的密码。这样,即使库纳词短语不足以为资金支出提供防护。
扩展支持这些高级特性。导入账户时,可以以以下格式在库纳词后面添加这些派生路径或密码:
<mnemonic phrase>//<hard>/<soft>///<password>
即,硬派生路径前面加上 //,软派生路径加上 /,密码前面加上 ///。
扩展仍然会要求您输入账户的密码。如同以前一样,此密码仅用于加密磁盘上的私钥。不需要与加密库纳词短语的密码相同。
也可以从现有账户派生新的账户——在账户下拉菜单中选择“衍生新账户”。提供父账户的密码,以及派生账户的名称和密码后,输入以下格式的派生路径:
//<hard>/<soft>
路径将被添加到父账户的库纳词短语中。
波卡(Polkadot)浏览器扩展插件 {.js} 结构清晰,易于集成,并提供强大的账户管理和安全签署功能。无论你是 dapp 开发者还是普通用户,都可以利用其强大的功能来体验 Polkadot 生态系统的无限潜力。立即安装并体验吧!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0512
MiniMax-H3MiniMax H3 是一个通用的全模态生成系统。它支持对由文本、图像、视频和音频组成的多模态上下文进行统一理解,并能生成分辨率高达 2K、时长可达 15 秒的带原生立体声音频的视频。得益于面向任务泛化的系统设计,H3 在预训练阶段就已具备广泛的多模态上下文理解与生成能力,能够出色地执行复杂的多模态指令。Python00
Kimi-K3Kimi K3 是Kimi能力最强的模型:这是一个拥有 2.8 万亿参数的混合专家(MoE)模型,具备原生视觉理解能力,并支持 100 万 token 的上下文窗口。Python00
Toonflow-appToonflow 是一款 AI 短剧漫剧工具,能够利用 AI 技术将小说自动转化为剧本,并结合 AI 生成的图片和视频,实现高效的短剧创作。借助 Toonflow,可以轻松完成从文字到影像的全流程,让短剧制作变得更加智能与便捷。HTML06
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown01
AionUi免费、本地、开源的 24/7 全天候 Cowork 应用,以及适用于 Gemini CLI、Claude Code、Codex、OpenCode、Qwen Code、Goose CLI、Auggie 等的 OpenClaw | 🌟 喜欢就点star吧TypeScript05