web3 浏览器注入 (如 MetaMask)
以下是关于 浏览器注入方式(如 MetaMask) 的完整详解,包括原理、使用方法、安全注意事项及常见问题解决方案:
1. 核心原理
当用户安装 MetaMask 等以太坊钱包扩展时,钱包会向浏览器的 window
对象注入一个全局变量 window.ethereum
,这个对象遵循 EIP-1193 标准,提供与区块链交互的通用接口。
// 检测注入是否可用 if (typeof window.ethereum !== 'undefined') {const web3 = new Web3(window.ethereum); } else {alert('请安装 MetaMask!'); }
2. 完整使用流程
步骤 1:检测并请求账户访问权限
async function initWeb3() {if (window.ethereum) {try {// 请求用户授权连接const accounts =