找 Provider
要检测用户是否已安装 UKey Wallet,Web 应用应检查 window.$ukey.solana 对象是否存在。
UKey Wallet 浏览器扩展、UKey Wallet 移动应用和 UKey Wallet 桌面版内置浏览器都会将 $ukey.solana 对象注入到用户访问的任何 Web 应用的 window 中。
如果 window.$ukey.solana 对象存在,Solana 应用可以通过 window.$ukey.solana 处的 API 与 UKey Wallet 交互。为了支持旧版集成,此 solana 对象也可在 window.solana 处访问。
要检测是否安装了 UKey Wallet,应用应检查额外的 isUKey 标志。
const isUKeyInstalled = window.$ukey?.solana?.isUKey;
如果没有检测到 UKey Wallet,可以提示用户安装 UKey Wallet。参考片段:
const getProvider = () => {
if ("$ukey" in window) {
const provider = window.$ukey?.solana;
if (provider?.isUKey) {
return provider;
}
}
window.open("https://ukey.com/zh-CN/download", "_blank");
};