共享Core实例
WalletConnect的sdk旨在通过@walletconnect/core
包共享公共逻辑和资源。
如果您打算一起利用多个sdk(例如Sign + Auth),强烈建议实例化
一个单一的Core
实例,并将它传递给相关的sdk。 这避免了每个SDK创建自己的Core
实例,
因此重复计算,内存分配,事件监听器等。
在下面的例子中,我们首先实例化一个Core
实例,然后继续实例化Sign
和Auth SDK与此共享 Core
:
import { Core } from "@walletconnect/core";
import SignClient from "@walletconnect/sign-client";
import { AuthClient } from "@walletconnect/auth-client";
// First instantiate a separate `Core` instance.
const core = new Core({
projectId: "<YOUR_PROJECT_ID>",
});
const metadata = {
name: "Example Dapp",
description: "Example Dapp",
url: "#",
icons: ["https://walletconnect.com/walletconnect-logo.png"],
};
// Pass `core` to the SignClient on init.
const signClient = await SignClient.init({ core, metadata });
// Pass `core` to the AuthClient on init.
const authClient = await AuthClient.init({ core, metadata });