0.0.1-alpha.2 • Published 5 months ago

@ckb-connect/walletconnect-dapp-sdk v0.0.1-alpha.2

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@ckb-connect/walletconnect-dapp-sdk

Description

An auxiliary library built on top of WalletConnect which wraps the protocol for integration within the CKB ecosystem.

Getting Started

Install

npm install @ckb-connect/walletconnect-dapp-sdk

Usage

  • Initialization
import {
  CkbWCSdk,
  GetAddressesParams,
  SignMessageParams,
  SignTransactionParams,
} from "@ckb-connect/walletconnect-dapp-sdk";
import { Web3Modal } from "@web3modal/standalone";

const web3Modal = new Web3Modal({
  projectId: process.env.PROJECT_ID,
  walletConnectVersion: 2,
});

const ckbWCSdk = await CkbWCSdk.init({
  projectId: process.env.PROJECT_ID,
  metadata: {
    name: "Demo Dapp",
    description: "Demo Dapp for WalletConnect",
    url: location.href,
    icons: [],
  },
})
  • Connect
const { uri, approval } = await ckbWCSdk.createConnect({
  network: "testnet",
  scriptBases: ['0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8'],
});
await web3Modal.openModal({ uri });
await approval();
  • Disconnect
await ckbWCSdk.disconnect();
  • Methods
await ckbWCSdk.getAddresses(params as GetAddressesParams);
await ckbWCSdk.signMessage(params as SignMessageParams);
await ckbWCSdk.signTransaction(params as SignTransactionParams);
  • Info
const { chain, network, identity, accountName } = ckbWCSdk.getAccountInfo();
  • Handle Events
walletSDK.emitter.on("connect", handler);
walletSDK.emitter.on("disconnect", handler);
walletSDK.emitter.on("accountChanged", handler);
walletSDK.emitter.on("addressesChanged", handler);