跳到主要内容

Dapp 用法

信息

关于示例实现,请参考我们的'react-dapp-auth 示例

1. 初始化WalletConnect AuthClient,使用您的项目ID

import AuthClient from "@walletconnect/auth-client";

const authClient = await AuthClient.init({
projectId: "<YOUR_PROJECT_ID>",
metadata: {
name: "my-auth-dapp",
description: "A dapp using WalletConnect AuthClient",
url: "my-auth-dapp.com",
icons: ["https://my-auth-dapp.com/icons/logo.png"],
},
});

2. 为auth_response添加事件监听器

信息

要收听与配对相关的事件,请遵循配对API事件监听器的指导。

authClient.on("auth_response", ({ params }) => {
if (Boolean(params.result?.s)) {
// Response contained a valid signature -> user is authenticated.
} else {
// Handle error or invalid signature case
console.error(params.message);
}
});

3. 请求身份验证

import AuthClient, { generateNonce } from "@walletconnect/auth-client";

// ...

const { uri } = await authClient.request({
aud: "<FULL_URL_OF_LOGIN_PAGE>",
domain: "<YOUR_DOMAIN>",
chainId: "eip155:1",
nonce: generateNonce(),
});

4. 提供的URI可以生成一个QRCode并进行扫描

import QRCodeModal from "@walletconnect/qrcode-modal";

if (uri) {
QRCodeModal.open(uri, () => {
console.log("EVENT", "QR Code Modal closed");
});
}
```