# @coolwallet/transport-web-ble

> web ble transport layer for coolwallet.

Latest version **1.1.3** (published 2022-02-25) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @coolwallet/transport-web-ble
pnpm add @coolwallet/transport-web-ble
yarn add @coolwallet/transport-web-ble
bun add @coolwallet/transport-web-ble
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.1.3 |
| Published | 2022-02-25 |
| First published | 2020-06-18 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 38.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 37 |
| Author | coolwallet-team |
| Maintainers | coolwallet-team |

## Links

- npm: https://www.npmjs.com/package/@coolwallet/transport-web-ble
- Repository: https://github.com/CoolBitX-Technology/coolwallet3-sdk
- Homepage: https://github.com/CoolBitX-Technology/coolwallet3-sdk#readme
- Issues: https://github.com/CoolBitX-Technology/coolwallet3-sdk/issues
- npm.io page: https://npm.io/package/@coolwallet/transport-web-ble

## Dependencies (1)

- [lodash](https://npm.io/package/lodash.md) ^4.17.21

## Recent versions

- 1.1.3 (latest) — 2022-02-25
- 0.1.0-beta.2 (beta) — 2020-07-28
- 1.1.1 — 2022-02-24
- 1.0.2 — 2022-01-13
- 1.0.1 — 2022-01-10
- 1.0.0 — 2021-04-30
- 0.1.0 — 2021-04-30
- 0.1.0-beta.5 — 2020-11-03
- 0.1.0-beta.4 — 2020-10-06
- 0.1.0-beta.3 — 2020-09-28
- 0.1.0-beta.1 — 2020-07-20
- 0.1.0-beta.0 — 2020-06-18

## README

# 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

```shell
npm i @coolwallet/transport-web-ble
```

## Usage

```javascript
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.

```javascript
const createTransport: () => Promise<Transport>
```

### WebBleManager

Manage browser bluetooth status.

#### isSupported

Check whether browser support [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility).  

```javascript
async isSupported(): Promise<boolean>
```

#### listen

Popup browser bluetooth selector.
Return the selected `BluetoothDevice`.

```javascript
async listen(): Promise<BluetoothDevice>
```

#### connect

Connected to the given `BluetoothDevice` and create `transport`.

```javascript
async connect(device: BluetoothDevice): Promise<Transport>
```

#### disconnect

Disconnect from the `BluetoothRemoteGATTServer` and remove `transport`.

```javascript
async disconnect(): Promise<void>
```

---
_Source: https://npm.io/package/@coolwallet/transport-web-ble · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
