事件流
Nostr Provider 使用类似 Node.js EventEmitter 的事件模型。
应用可以监听账户变化,并在用户切换身份后刷新本地状态:
accountsChanged
用户切换 Nostr 账户或授权状态变化时触发。
window.nostr.on("accountsChanged", (accounts) => {
// 处理新账户,或账户列表为空的情况。
// "accounts" 一定是数组,但它可能是空的。
});
window.nostr.off("accountsChanged");
chainChanged (已弃用)
该事件已弃用。若旧环境仍触发它,建议重新读取 Provider 状态。
window.nostr.on('chainChanged', (chainId) => {
// 处理切换后的链。
// 链切换的处理通常会比较复杂。
// 除非你明确知道不该这样做,否则建议直接刷新页面。
window.location.reload();
});
window.nostr.off('chainChanged');