@omnisat/lasereyes
v0.0.127
Published
Simplifies wallet interactions across various Bitcoin wallets, making it easy for developers to build dApps with Bitcoin support
Downloads
2,937
Readme
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:
- lasereyes-core: The framework-agnostic core logic for wallet interactions.
- lasereyes-react: React-specific components, including hooks, providers, and wallet icons.
Installation
To install the @omnisat/lasereyes
package:
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)
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:
- Clone the repository and navigate to the monorepo root.
- Install dependencies:
pnpm install
- Run the development build:
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. Thank you 🙏