WalletConnect
Bitget 移动端钱包已支持 WalletConnect。
WalletConnect 是一个链接钱包和 DApps(Web3 应用程序)的开放协议,它使用一个桥梁服务器在两个应用程序和/或设备之间建立远程链接,扫描 QR 码建立链接并开始通信。
资源推荐
- WalletConnect 官方开发文档 https://docs.walletconnect.com
- WalletConnect 官方 Examples https://github.com/WalletConnect/web-examples
安装
bash
npm install --save @walletconnect/client @walletconnect/qrcode-modal
npm install --save @walletconnect/client @walletconnect/qrcode-modal
开发示例
js
import WalletConnect from '@walletconnect/client';
import QRCodeModal from '@walletconnect/qrcode-modal';
// Create a connector
const connector = new WalletConnect({
bridge: 'https://bridge.walletconnect.org', // Required
qrcodeModal: QRCodeModal,
});
// Check if connection is already established
if (!connector.connected) {
// create new session
connector.createSession();
}
// Subscribe to connection events
connector.on('connect', (error, payload) => {
if (error) {
throw error;
}
// Get provided accounts and chainId
const { accounts, chainId } = payload.params[0];
});
connector.on('session_update', (error, payload) => {
if (error) {
throw error;
}
// Get updated accounts and chainId
const { accounts, chainId } = payload.params[0];
});
connector.on('disconnect', (error, payload) => {
if (error) {
throw error;
}
// Delete connector
});
import WalletConnect from '@walletconnect/client';
import QRCodeModal from '@walletconnect/qrcode-modal';
// Create a connector
const connector = new WalletConnect({
bridge: 'https://bridge.walletconnect.org', // Required
qrcodeModal: QRCodeModal,
});
// Check if connection is already established
if (!connector.connected) {
// create new session
connector.createSession();
}
// Subscribe to connection events
connector.on('connect', (error, payload) => {
if (error) {
throw error;
}
// Get provided accounts and chainId
const { accounts, chainId } = payload.params[0];
});
connector.on('session_update', (error, payload) => {
if (error) {
throw error;
}
// Get updated accounts and chainId
const { accounts, chainId } = payload.params[0];
});
connector.on('disconnect', (error, payload) => {
if (error) {
throw error;
}
// Delete connector
});