当用户切换Phantom钱包帐户时,在浏览器上进行检测



所以我有一个带有nextjs的react应用程序,当用户使用Phantom钱包扩展并切换帐户时,我需要在其中获取事件触发器。我在他们的文档中找不到任何相关内容:https://docs.phantom.app/

我想知道是否有人遇到这个问题。基本上我有window.solana对象,但它没有触发用户登录

因此Phantom本身不会在其window.solana对象上公开任何特定于帐户切换的API。

不过,你可以做一些技巧来了解账户何时切换。

您可以连续轮询当前连接的帐户,并将publicKey设置为某个变量。当publicKey更改时,您可以触发事件。

伪码示例:

let currentKey = '';
poll(() => {
if (/* wallet available and connected */) {
await /* Action that updates publicKey */
if (currentKey !== wallet.publicKey.toBase58()) {
currentKey = wallet.publicKey.toBase58();
this.publicKey = wallet.publicKey;
this.emit('change')
}
}
})

你可以在这里找到我们目前在钱包适配器上的记录和PR。

Phantom现在发出accountChanged事件:https://docs.phantom.app/integrating/extension-and-in-app-browser-web-apps/establishing-a-connection#changing-账户

相关内容

  • 没有找到相关文章

最新更新