# 快速接入 Bitget 插件钱包
# EVM
提示
前置条件:如果开发者已经 接入兼容 MetaMask 相同规范的插件钱包 。
如何快速接入
检测 provider 是否为window.bitkeep.ethereum,如不是 ,请将其替换为 Bitget Wallet 专属 provider window.bitkeep.ethereum。
代码示例:
function getProvider() {
  const provider = window.bitkeep && window.bitkeep.ethereum;
  if (!provider) {
    return window.open('https://web3.bitget.com/zh-CN/wallet-download?type=2');
  }
  return provider;
}
 1
2
3
4
5
6
7
2
3
4
5
6
7
注意事项
若开发者接入多个插件钱包,当用户切换网络或地址时,为避免与其他插件钱包事件监听冲突,开发者应在切换钱包之前清除当前钱包监听事件。
代码示例:
//Bitkeep used
const BitKeepProvider = window.bitkeep && window.bitkeep.ethereum;
await BitKeepProvider.request({ method: 'eth_requestAccounts' });
BitKeepProvider.removeAllListeners();
BitKeepProvider.on('accountsChanged', async (accounts) => {
   console.log("accounts changed")
});
BitKeepProvider.on('chainChanged', async (chainId) => {
   console.log("chainId changed")
});
//MetaMask used
const MetaMaskProvider = window.ethereum;
//BitKeepProvider.removeAllListeners();
MetaMaskProvider.request({ method: 'eth_requestAccounts' });
MetaMaskProvider.removeAllListeners();
MetaMaskProvider.on('accountsChanged', async (accounts) => {
  console.log("accounts changed")
});
MetaMaskProvider.on('chainChanged', async (chainId) => {
  console.log("chainId changed")
});
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Solana
提示
前置条件:开发者已经接入 兼容 MathWallet 相同规范的插件钱包。
如何快速接入
检测 provider 是否为window.bitkeep.solana,如不是 ,请将其替换为 Bitget Wallet 专属 provider window.bitkeep.solana。
代码示例:
function getProvider() {
  const provider = window.bitkeep && window.bitkeep.solana;
  if (!provider) {
    window.open('https://web3.bitget.com/zh-CN/wallet-download?type=2');
    throw  `Please guide users to download from our official website`
  }
  return provider;
}
 1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Aptos
提示
前置条件:开发者已经接入 兼容 petra 相同规范的插件钱包。
如何快速接入
检测 provider 是否为 window.bitkeep.aptos,如不是 ,请将其替换为 Bitget Wallet 专属 provider window.bitkeep.aptos。
代码示例:
function getAptosWallet() {
  const provider = window.bitkeep && window.bitkeep.aptos;
  if (!provider) {
    window.open('https://web3.bitget.com/zh-CN/wallet-download?type=2');
    throw 'Please go to  https://web3.bitget.com/zh-CN/wallet-download?type=2  to download!!';
  }
  return provider;
}
 1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 其他
如果开发者未按上述标准接入过其他插件钱包,可参考 不同链API接入 或 第三方npm包的接入方法接入 Bitget 插件钱包。
# API 接入
# 已支持三方包
EVM
Solana