@omnisat/lasereyes
Version:
Simplifies wallet interactions across various Bitcoin wallets, making it easy for developers to build dApps with Bitcoin support
89 lines (59 loc) • 3.04 kB
Markdown

# lasereyes
`@omnisat/lasereyes` is the main package that bundles both `lasereyes-core` and `lasereyes-react`, offering a unified interface for Bitcoin wallet integration in both framework-agnostic and React-based environments. This package simplifies wallet interactions across various Bitcoin wallets, making it easy for developers to build dApps with Bitcoin support.
## Key Features
- **Unified Wallet Interface**: Simplifies Bitcoin wallet integration by providing a common interface for multiple wallet providers.
- **Framework-Agnostic**: `lasereyes-core` can be used in any JavaScript or TypeScript environment, not tied to any specific framework.
- **React Support**: `lasereyes-react` offers React hooks, context providers, and wallet icons for seamless integration into React applications.
- **Vue Support** (coming soon): `lasereyes-vue` offers a Vue hook, context providers, and wallet icons for seamless integration into Vue applications.
- **Angular Support** (coming soon): `lasereyes-angular` offers a Angular hook, context providers, and wallet icons for seamless integration into Angular applications.
## Packages
This package exports two core packages:
1. **[lasereyes-core](https://github.com/omnisat/lasereyes-mono/tree/main/packages/lasereyes-core)**: The framework-agnostic core logic for wallet interactions.
2. **[lasereyes-react](https://github.com/omnisat/lasereyes-mono/tree/main/packages/lasereyes-react)**: React-specific components, including hooks, providers, and wallet icons.
## Installation
To install the `@omnisat/lasereyes` package:
```bash
yarn add @omnisat/lasereyes
```
## Usage
`@omnisat/lasereyes` provides both framework-agnostic and React-specific integrations. You can use it in either environment based on your app’s requirements.
### Example Usage (React)
```typescript
import { LaserEyesProvider, useLaserEyes, UNISAT, MAINNET } from '@omnisat/lasereyes-react';
function App() {
return (
<LaserEyesProvider config={{network: MAINNET}}>
<WalletInfo />
</LaserEyesProvider>
);
}
function WalletInfo() {
const { address, connect } = useLaserEyes();
return (
<div>
{address ? (
<p>Connected: {address}</p>
) : (
<button onClick={() => connect(UNISAT)}>Connect Wallet</button>
)}
</div>
);
}
```
## Development
To develop the `@omnisat/lasereyes` package within the monorepo:
1. Clone the repository and navigate to the monorepo root.
2. Install dependencies:
```bash
pnpm install
```
3. Run the development build:
```bash
pnpm dev
```
## Contributing
Contributions are welcome! Feel free to submit pull requests or open issues for bug fixes, feature enhancements, or documentation improvements.
## License
`@omnisat/lasereyes` is MIT licensed.
If you find Laser Eyes useful or use it for work, please consider [sponsoring Laser Eyes](https://github.com/sponsors/omnisat). Thank you 🙏