首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
区块链钱包开发(从入门到入土)
余_弦
创建于2025-06-12
订阅专栏
基于浏览器插件的web3钱包开发教程(地表最强)
等 12 人订阅
共23篇文章
创建于2025-06-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
区块链钱包开发(二十一)—— 一次交易的全流程分析
本文将详细分析一次转账交易在钱包中是如何处理的,包括“创建交易→展示确认→用户确认→发布上链→确认落链”的端到端全流程分析
区块链钱包开发(二十)—— 前端框架和页面
MetaMask UI端采用了分层架构设计,每一层都有明确的职责- UI层:负责用户界面的展示和交互 Hooks层:封装业务逻辑和状态
区块链钱包开发(十九)—— 构建账户控制器(AccountsController)
账户控制器是 MetaMask 中负责管理所有用户账户的核心组件。它充当了一个统一的账户管理层,将不同来源的账户(如 HD 钱包、简单钱包等)统一转换为标准的内部账
区块链钱包开发(十八)—— 构建批准控制器(ApprovalController)
approval-controller 负责管理所有需要用户审批的请求。它提供了一个统一的接口来处理各种类型的审批流程,包括交易签名、权限授予、连接请求等。 源码:https://github.
区块链钱包开发(十七)—— 构建密钥管理控制器(KeyringController)
keyring-controller 是 MetaMask 生态系统的核心组件,负责管理用户身份和密钥,处理各种签名操作。它是连接用户私钥和区块链交互的桥梁,确保私钥的安全存
区块链钱包开发(十六)—— 构建网络控制器(NetworkController)
1. 概述 NetworkController 是 MetaMask 中负责管理多链网络连接的核心控制器,它提供了完整的网络管理功能,包括网络切换、RPC 端点管理、网络状态监控等。 源码位置: ht
区块链钱包开发(十五)—— 构建交易控制器(TransactionController)
前言 Metamask中控制器众多(50个左右),我们不可能一一介绍,从本章开始我们会选择性的讲解几个最核心的控制器实现,这一章我们讲交易控制器TransactionController,也是最核心的
区块链钱包开发(十四)—— 构建NonceTracker
概述 本节介绍钱包开发中管理交易 nonce 的关键工具 NonceTracker。在以太坊钱包开发中,正确分配和追踪 nonce 对于防止交易冲突、确保交易顺序和链上状态一致性至关重要。NonceT
区块链钱包开发(十三)—— 构建BlockTracker
概述 我们这一节介绍下钱包开发中必不可少的工具 BlockTracker。在钱包开发中,实时感知区块链状态变化(如新块产生)对于账户余额、交易状态等功能至关重要,BlockTracker 正是为此而生
区块链钱包开发(十二)—— 前后端状态同步机制
前言 我们希望所有前端操作(例如账户或网络的切换)引起的状态变化都可以同步到后端以及所有打开的页面(例如同时打开了popup和全屏页,在popup上的操作引起的变化要实时同步到全屏页)。 同时我们也希
区块链钱包开发(十一)—— 构建安全高可用的钱包数据持久化策略
为什么需要持久化 数据持久化的作用,是确保用户的重要数据在浏览器关闭、扩展重启、系统重启等情况下不会丢失,下次打开还能恢复之前的状态,例如: KeyringController(密钥管理器) 助记词加
区块链钱包开发(十)—— 构建主控制器metamask-controller.js
前言 metamask-controller.js可以说是钱包中最重要的同时也是最复杂的脚本,它就像大脑里的中枢神经,负责管理整个钱包的核心业务逻辑和状态。这个文件实现了一个庞大的 MetamaskC
区块链钱包开发(九)—— 构建后台主服务background.js
前言 我们在钱包的初始化中提到,钱包的后台入口文件是 app-init.js,它会加载很多文件: sentry-install.js(日志记录工具) init-globals.js(初始化全局变量)
区块链钱包开发(八)—— 创建内容脚本contentscript.js
什么是内容脚本 我们在前面的章节提到过,内容脚本是在我们打开网页时自动注入的脚本,metamask的内容脚本在manifest文件中定义如下: 内容脚本详解 disable-console.js 源码
区块链钱包开发(七)—— 创建注入到网页的Provider
前言 通过前面几节的讲解,我们对钱包后端框架有了比较深入的理解,这对我们后面的业务实现打下了基础。 这一节我们介绍如何实现一个Provider。 源码:https://github.com/MetaM
区块链钱包开发(六)—— 构建各个控制器间的通信框架
MetaMask控制器介绍 Metamask的后台控制器实现被设计的高度模块化,充分体现了软件工程中的模块化、安全性和可扩展性原则。在Metamask中拥有非常多的controller(50个左右),
区块链钱包开发(五)—— 构建json RPC框架
一、框架概览 MetaMask JSON-RPC 框架是处理请求的基础组件。它主要由以下几个核心仓库(repo)组成: json-rpc-engine:核心引擎,负责 JSON-RPC 请求的中间件链
区块链钱包开发(四.2)—— stream通信框架的使用
前言 上一节我们介绍了钱包中主要的stream通信组件,这一节我们看他们具体是如何在钱包通信模块大显身手的。 本章涉及到的源码文件地址: https://github.com/MetaMask/met
区块链钱包开发(四.1)—— 搭建stream风格的通信框架
前言 在前面的章节中我们讲过浏览器插件中各个组件(网页,contentscript,background) 之间的 通信方法(window.postMessage/chrome.runtime.con
区块链钱包开发(三)—— 钱包的初始化(入口文件加载)
区块链钱包开发(三)—— 钱包的初始化(入口文件加载) 前言 钱包完整的初始化是一个很复杂的过程,包括文件加载,各种消息通道的建立,各种事件的监听,控制器的初始化,UI的初始化等等,这些后面会讲但是不
下一页