@delandlabs/hibit-id-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

Introduction

HiBit ID is a web-based multi-chain crypto wallet, with SDK for DApp integration.

It supports a variety of popular third-party login methods which links user's Web2 accounts seamlessly to the Web3 world.

Supported Third-party Login Methods

  • [x] Telegram
  • [ ] Google
  • [ ] Facebook
  • [ ] X
  • [ ] Apple
  • [ ] Github
  • and more...

Supported Chains

  • [x] Ethereum
  • [x] BNB Smart Chain
  • [x] Base
  • [x] Avalanche
  • [x] Scroll
  • [x] Bitlayer
  • [x] Ton
  • [ ] Solana
  • [ ] Bitcoin
  • [ ] Tron
  • and more...

Integration

Install SDK

yarn add @delandlabs/hibit-id-sdk

Usage

import {
  HibitIdWallet,
  HibitIdChainId,
  WalletAccount,
  HibitIdAssetType,
} from "@delandlabs/hibit-id-sdk"
// remember to import styles for the wallet
import '@delandlabs/hibit-id-sdk/dist/style.css';

// init hibitid wallet
const hibitId = new HibitIdWallet({
  env: 'prod',  // 'prod' or 'test'
  chains: [
    HibitIdChainId.Ethereum,
    HibitIdChainId.Ton,
  ],
  defaultChain: HibitIdChainId.Ethereum,
})

// connect
const walletAccount: WalletAccount = await hibitId.connect(HibitIdChainId.Ethereum)

// sign
const signature: string = await hibitId.signMessage(msg)

// get balance
const balance: string = await hibitId.getBalance({
  assetType: HibitIdAssetType.ERC20,
  chainId: HibitIdChainId.Ethereum,
  contractAddress: '0x......',  // required for non-native tokens
  decimalPlaces: 18,
})

// transfer
const txId: string = await hibitId.transfer({
  toAddress: '0x......',
  amount: '0.1',
  assetType: HibitIdAssetType.ERC20,
  contractAddress: '0x......',  // required for non-native tokens
  decimalPlaces: 18,
})

// switch chain
await hibitId.switchToChain(HibitIdChainId.TonMainnet)

// listen to events
hibitId.addEventListener('chainChanged', (chainId: HibitIdChainId) => {
  console.log(chainId)
});
hibitId.addEventListener('accountsChanged', (account: WalletAccount | null) => {
  console.log(account)
});

// remove event listeners
hibitId.removeEventListener('chainChanged', chainChangedHandler);
hibitId.removeEventListener('accountsChanged', accountsChangedHandler);

TonConnect integration

Please refer to hibit-id-examples for TonConnect integration.

Readme

Keywords

none

Package Sidebar

Install

npm i @delandlabs/hibit-id-sdk

Weekly Downloads

96

Version

1.1.0

License

none

Unpacked Size

2.52 MB

Total Files

21

Last publish

Collaborators

  • dev-hibit
  • witterlee