npm package: @libre-chain/wallet-plugin-bitcoin-libre
Description: An Bitcoin Libre plugin for use with @wharfkit/session.
Latest version: 1.4.4

# wallet-plugin-bitcoin-libre

A SessionKit wallet plugin for the [Bitcoin Libre](https://www.bitcoinlibre.io/) wallet.

## Overview

This plugin allows seamless integration of the Bitcoin Libre wallet with applications using the SessionKit. It provides a bridge between your decentralized application and the Bitcoin Libre wallet, enabling secure transactions and account management.

## Features

- Easy integration with SessionKit
- Support for custom buoy URL and WebSocket class
- Browser-based functionality

## Installation

Install the plugin using npm or yarn:

```bash
npm install @libre-chain/wallet-plugin-bitcoin-libre
# or
yarn add @libre-chain/wallet-plugin-bitcoin-libre
```

## Usage

### Basic Setup

To use the wallet plugin, import it and add it to the SessionKit initialization:

```typescript
import {WalletPluginBitcoinLibre} from '@libre-chain/wallet-plugin-bitcoin-libre'

const kit = new SessionKit({
    // ... your other options
    walletPlugins: [new WalletPluginBitcoinLibre()],
})
```

### Advanced Configuration

For more control over the plugin's behavior, you can customize the buoy URL and WebSocket class:

```typescript
import WebSocket from 'isomorphic-ws'
import {WalletPluginBitcoinLibre} from '@libre-chain/wallet-plugin-bitcoin-libre'

const kit = new SessionKit({
    // ... your other options
    walletPlugins: [
        new WalletPluginBitcoinLibre({
            buoyUrl: 'https://cb.anchor.link',
            buoyWs: WebSocket,
        }),
    ],
})
```

**NOTE**: This wallet plugin will only work with the SessionKit and requires a browser-based environment.

## API Reference

### `WalletPluginBitcoinLibre`

#### Constructor Options

- `buoyUrl` (optional): Custom URL for the buoy service
- `buoyWs` (optional): Custom WebSocket class implementation

## Development

### Prerequisites

- [Make](https://www.gnu.org/software/make/)
- [Node.js](https://nodejs.org/en/)
- [Yarn](https://classic.yarnpkg.com/en/docs/install)

### Setting Up the Development Environment

1. Clone the repository:
   ```bash
   git clone https://gitlab.com/libre-tech/wallet-plugin-bitcoin-libre.git
   cd wallet-plugin-bitcoin-libre
   ```

2. Install dependencies and build the project:
   ```bash
   make
   ```

### Useful Make Commands

- `make`: Install dependencies and build the project
- `make lint`: Run linting checks
- `make test`: Run the test suite

Refer to the [Makefile](./Makefile) for additional commands and targets.

## Contributing

Contributions are welcome! Please follow these steps:

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

Please ensure you run `make lint` before submitting a pull request.

## License

This project is licensed under the BSD-3-Clause License. See the [LICENSE](LICENSE) file for details.

## Support

For support, please open an issue in the [GitLab repository](https://gitlab.com/libre-tech/wallet-plugin-bitcoin-libre).