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");
});
}
```