前端如何监听phantom钱包切换账户?
时间: 2024-12-03 21:36:27 浏览: 18
在前端监听Phantom钱包切换账户通常涉及到Web3.js库,因为Phantom是一个基于Web的钱包浏览器插件,它支持与Ethereum网络交互。要在前端实现这个功能,你需要做以下几步:
1. **注入Web3实例**:首先,在用户登录并授权访问后,通过Web3.js的`inject`方法将Phantom的钱包服务注入到网页的全局作用域中。
```javascript
if (typeof window.ethereum !== 'undefined') {
const web3 = new Web3(ethereum);
ethereum.enable();
}
```
2. **事件订阅**:`web3.eth.defaultAccount`属性会反映当前选中的以太坊地址。你可以添加一个`change`事件监听器,当地址发生变化时触发回调函数。
```javascript
web3.eth.defaultAccount.addEventListener('change', function(account) {
console.log('Switched to account:', account);
});
```
3. **处理用户操作**:当用户在Phantom钱包内选择新的账户时,Phantom通常会更新默认账户,上述事件就会被触发。在回调中你可以获取新的地址,并执行相应的业务逻辑。
**相关问题--:**
1. Phantom钱包是如何与Web3.js集成的?
2. 如何确保用户的权限控制,防止未经授权的账户切换监听?
3. 如果用户关闭了Phantom钱包,前端还能接收到账户切换通知吗?
阅读全文