npm.io
1.1.3 • Published 4 years ago

@coolwallet/transport-web-ble

Licence
Apache-2.0
Version
1.1.3
Deps
1
Size
39 kB
Vulns
0
Weekly
0
Stars
37

CoolWallet Web-ble Transport

If you're building a WebApp with CoolWallet, this is the one you need to use as transport in other api.

Install

npm i @coolwallet/transport-web-ble

Usage

import ETH from '@coolwallet/eth';
import { crypto } from '@coolwallet/core';
import { createTransport } from '@coolwallet/transport-web-ble';

const transport = await createTransport();
const { privateKey: appPrivateKey } = crypto.key.generateKeyPair();

const appId = 'appId that had been registered by wallet';

const eth = new ETH();
// use transport in other package
const address = await eth.getAddress(transport, appPrivateKey, appId, 0);

API

createTransport

A convenient way to create internal transport.

const createTransport: () => Promise<Transport>
WebBleManager

Manage browser bluetooth status.

isSupported

Check whether browser support Web Bluetooth API.

async isSupported(): Promise<boolean>
listen

Popup browser bluetooth selector. Return the selected BluetoothDevice.

async listen(): Promise<BluetoothDevice>
connect

Connected to the given BluetoothDevice and create transport.

async connect(device: BluetoothDevice): Promise<Transport>
disconnect

Disconnect from the BluetoothRemoteGATTServer and remove transport.

async disconnect(): Promise<void>