Skip to main content

Client

Events​

nametypeParameters Description
onfunctionMount an event listener
offfunctionCancel an event listener
oncefunctionTrigger an event once
emitfunctionTrigger an event

Properties​

nametypeParameters Description
keysKeyPairsTypeyour PrivateKey and PublicKey
listeners{}Event Center
channelChannel ClassThe channel correlation
messageMessage ClassThe messages correlation
userUser ClassThe user correlation
contactContact ClassThe contact correlation
notifyNotify ClassThe notify correlation
topicTopic ClassThe topic correlation

Methods​

nametypeParameters Descriptionresponse
initfunctionInitOptionsPromise: Web3MQAPiEndpoints
getInstancefunctionKeyPairsTypeClient
getSignClientfunction(SendTempConnectOptions, callbackFn)void
initDappConnectClientfunction(SendTempConnectOptions, callbackFn)void

Methods​

init()​

Connect the best Web3MQ's network node.

import { Client } from "@web3mq/client";
// 1. You must initialize the SDK, the init function is asynchronous

const tempPubkey = localStorage.getItem("PUBLIC_KEY") || "";
// 1. tempPubkey
// We will give you the exclusive tempPubkey when you log in successfully;
// Usually this key is kept by you eg: save in localStorage
const didKey = localStorage.getItem("DID_KEY") || "";
// 2. didKey
// A concatenated string of the account and account type to be logged into
// eg: eth:0x0000000000000

await Client.init({
connectUrl: "example url", // The fastURL you saved to local
app_key: "app_key", // Appkey applied from our team
env: "test", // The default is the test environment
tempPubkey, // After login get temp public key
didKey, // did_key:did_value eg: eth:0x00000000123123;
});

getInstance()​

Create and get the Client Instance.

import { Client } from "@web3mq/client";
// 1. You must initialize the SDK, the init function is asynchronous
await Client.init({
connectUrl: "example url", // The fastURL you saved to local
app_key: "app_key", // Appkey applied from our team
});
// 2.Login and get keys
const { address } = await Client.register.getAccount(didType);
const { userid, userExist } = await Client.register.getUserInfo({
did_value: address,
did_type: didType,
});

let localMainPrivateKey = "";
let localMainPublicKey = "";

if (!userExist) {
const registerRes = await Client.register.register({
password,
did_value: address,
userid,
did_type: didType,
avatar_url: `https://cdn.stamp.fyi/avatar/${address}?s=300`,
});
localMainPrivateKey = registerRes.mainPrivateKey;
localMainPublicKey = registerRes.mainPublicKey;
}

const {
TempPrivateKey,
TempPublicKey,
pubkeyExpiredTimestamp,
mainPrivateKey,
mainPublicKey,
} = await Client.register.login({
password,
userid,
did_value: address,
did_type: didType,
mainPublicKey: localMainPublicKey,
mainPrivateKey: localMainPrivateKey,
});
// 3. You must ensure that the Client.init initialization is complete and that you have a key pair
const client = Client.getInstance({
PrivateKey: TempPrivateKey,
PublicKey: TempPublicKey,
userid: userid,
});

console.log(client);

getSignClient​

Get sign client.

import { Client, SignClientCallBackType } from "@web3mq/client";
// 1. You must initialize the SDK, the init function is asynchronous
await Client.init({
connectUrl: "example url", // The fastURL you saved to local
app_key: "app_key", // Appkey applied from our team
});
// 2. Create the handleEvent function to receive events
const handleEvent = (options: SignClientCallBackType) => {
console.log(options);
};
// 3. get Sign Client, Make sure that init is complete
await Client.getSignClient(
{
dAppID: dapp_id,
topicID: topic_id,
signatureTimestamp: signature_timestamp,
dAppSignature: dapp_signature,
},
handleEvent
);

initDappConnectClient​

Create the client that connects to the DApp.

import { Client } from "@web3mq/client";
// 1. You must initialize the SDK, the init function is asynchronous
await Client.init({
connectUrl: "example url", // The fastURL you saved to local
app_key: "app_key", // Appkey applied from our team
});
// 2. Create the handleEvent function to receive events
const handleEvent = (options: SignClientCallBackType) => {
console.log(options);
};
// 3. get DappConnect Client
Client.initDappConnectClient({ dAppID: "SwapChat:im" }, handleEvent);

// 4. Here you can use the client to interact with the wallet
Client.dappConnectClient.getConnectLink();

Events​

on()​

* on: (eventName: EventTypes, callback: any) => void;
client.on('channel.activeChange', (event) {
console.log(event)
})

off()​

* off: (eventName: EventTypes, callback?: any) => void;
client.off('channel.activeChange', (event) {
console.log(event)
})

once()​

* once: (eventName: EventTypes, callback?: any) => void;
client.once('channel.activeChange', (event) {
console.log(event)
})

emit()​

* emit: (eventName: EventTypes, ...args: any[]) => void;
client.emit("channel.activeChange", {
data: "",
});