使用MetaMask
1.安装ethers 库(v5,连接v6版本代码有出入)
npm install ethers@5
示例代码
import { ethers } from 'ethers';
async function connectWallet() {
if (window.ethereum) {
await window.ethereum.request({ method: 'eth_requestAccounts' });
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
console.log("Connected Wallet Address:", await signer.getAddress());
} else {
console.log('Please install MetaMask!');
}
}
使用WalletConnect
WalletConnect支持多种区块链和多种类型的钱包。首先,安装WalletConnect库:
npm install @walletconnect/web3-provider
示例代码(使用@walletconnect/web3-provider):
import WalletConnectProvider from "@walletconnect/web3-provider";
import Web3 from "web3";
async function connectWallet() {
const provider = new WalletConnectProvider({ rpc: { 1: "https://rpc.ankr.com/eth" } });
await provider.enable(); // This will prompt the user to connect their wallet if they are not already connected.
const web3 = new Web3(provider);
const accounts = await web3.eth.getAccounts();
console.log("Connected Wallet Address:", accounts[0]);
}