Skip to main content

Standard List

DidType​

Type of account bound to web3mq.Only 'eth' and 'starknet' wallets are currently supported.

// 1. if you connect eth wallet
const didType = "eth";
// 2. if you conncet starknet wallet;
const didType = "starknet";

DidValue​

address of account bound to web3mq.Currently only eth and starknet wallet addresses on the public chain are supported.

import { connect } from "get-starknet";
// 1. if you connect eth wallet
const didValue = window.ethereum.selectedAddress;

// 2. if you conncet starknet wallet;
const starknet = await connect();
if (!starknet) {
return;
}
const [didType] = await starknet.enable();

Master PrivateKey​

The master privete key is the key generated by signature with js-sha256, and then the final string is encrypted with AES-GCM.

import { Client } from "@web3mq/client";
const { secretKey: privateKey } = Cleint.register.getMainKeypair({
password: "your enter password",
did_type: "your did type",
did_value: "your did value",
});

Master PublicKey​

The master public key is the key generated by signature with js-sha256, and then the string generated by @noble/ed25519.

import { Client } from "@web3mq/client";
const { publicKey } = Cleint.register.getMainKeypair({
password: "your enter password",
did_type: "your did type",
did_value: "your did value",
});

Sign Content​

Sign Content of Master Keypair​

signature content in the form of a string consisting of password, did_value, did_type is used to generate the master key pair

import { Client } from "@web3mq/client";
const { signContent } = await Client.register.getMainKeypairSignContent({
password: "your enter password",
did_value: "your did value",
did_type: "your did type",
});

Sign Content of Register​

The signature body used for registration is passed as a string consisting of mainPublicKey, didType, didvalue, userid, signContentURI.

import { Client } from "@web3mq/client";
const { signContent } = await Client.register.getRegisterSignContent({
mainPublicKey: "your master public key",
didType: "your did type",
didValue: "your did type",
userid: "your userid",
signContentURI: window.location.origin,
});

Temporary PrivateKey​

Generate the temporary private key in hex string format using @noble/ed25519.

import ed from "@noble/ed25519";

let privateObj = ed.utils.randomPrivateKey();
let TempPrivateKey = Array.from(privateObj, (byte: any) =>
("0" + (byte & 0xff).toString(16)).slice(-2)
).join("");

Temporary PublicKey​

Generate the temporary public key in hex string format using @noble/ed25519.

import ed from "@noble/ed25519";

let privateObj = ed.utils.randomPrivateKey();
let pubkeyObj = await ed.getPublicKey(privateObj);
let TempPublicKey = Array.from(pubkeyObj, (byte: any) =>
("0" + (byte & 0xff).toString(16)).slice(-2)
).join("");

Userid​

String starting with user: encrypted by did_type + did_value + timestamp with sha3_224

import { sha3_224 } from "js-sha3";
const timestamp = Date.now();
const did_type = "eth";
const did_value = window.ethereum.selectedAddress;
const userid = `user:${sha3_224(did_type + did_value + timestamp)}`;

Web3MQ API Endpoints​

During this initial testing phase, we've hosted complete networks of Web3MQ nodes in different regions around the globe. Connect to these endpoints below, to access the Web3MQ Testnet.

https

wss

  • wss://testnet-us-west-1-1.web3mq.com
  • wss://testnet-us-west-1-2.web3mq.com
  • wss://testnet-ap-jp-1.web3mq.com
  • wss://testnet-ap-jp-2.web3mq.com
  • wss://testnet-ap-singapore-1.web3mq.com
  • wss://testnet-ap-singapore-2.web3mq.com

Wallet Address​

The wallet address on the public chain, currently only eth and starknet wallet addresses are supported.

import { Client } from "@web3mq/client";
const didValue = await Cleint.register.getAccount("your wallet type");

Wallet Sign​

Get the signature by evoking the Client.sign method with signContent, address and walletType.Currently only eth and starknet wallet signatures are supported.

import { Client } from '@web3mq/client';
const { sign } = Client.register.sign(signContent: 'your sign content',address: 'your enter wallet address',walletType: 'your enter wallet type');

BlockChain Type​

The wallet type on the public chain, currently only eth and starknet type wallets are supported.

// 1. if you connect eth wallet
const wallet_type = "eth";
// 2. if you conncet starknet wallet;
const wallet_type = "starknet";