Security News
Research
Supply Chain Attack on Rspack npm Packages Injects Cryptojacking Malware
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
@getalby/lightning-wallet-connect
Advanced tools
Web components to connect to a lightning wallet and power a website with WebLN
This project includes web components for connecting to Lightning Wallets and enabling WebLN. Websites only need to implement a single interface to connect with multiple wallets (WebLN), and users can connect from both desktop and mobile devices. These components work with pure HTML and all Javascript libraries frameworks such as React, Angular, Vue, Solid.js, etc.
npm install @getalby/lightning-wallet-connect
or
yarn add @getalby/lightning-wallet-connect
or for use without any build tools:
<script src="https://cdn.jsdelivr.net/npm/@getalby/lightning-wallet-connect@1.0.5/dist/index.browser.js"></script>
Lightning wallet connect exposes the following web components for allowing user to connect their desired Lightning wallet:
<lwc-button/>
- launches the LWC Modal on click
icon-only
- display the button as an icon without "Connect wallet"disabled
- mark the button as disabled. NOTE: in react disabled={false} will not work - attribute must be omitted<lwc-modal/>
- render the modal on its own<lwc-connector-list/>
- render the list of connectors on their ownLightning wallet connect exposes the following events:
lwc:connected
window event which fires when a wallet is connected and window.webln is ready to uselwc:connecting
window event which fires when LWC is connecting to a walletlwc:disconnected
window event which fires when user has disconnected from their walletlwc:modalopened
window event which fires when Lightning Wallet Connect modal is openedlwc:modalclosed
window event which fires when Lightning Wallet Connect modal is closedCurrent wallets supported:
lwc-color-gradient1
, lwc-color-gradient2
, lwc-color-primary
, lwc-color-secondary
, lwc-color-tertiary
html {
--lwc-color-gradient-1: #ffc837;
--lwc-color-gradient-2: #ff8008;
--lwc-color-primary: black;
--lwc-color-secondary: yellow;
--lwc-color-tertiary: green;
}
Example codepen: https://codepen.io/rolznz/pen/ZEmXGLd
<html>
<body>
<lwc-button></lwc-button>
<script src="https://cdn.jsdelivr.net/npm/@getalby/lightning-wallet-connect@1.0.5/dist/index.browser.js"></script>
<script>
window.addEventListener('lwc:connected', async () => {
// TODO: hide the lwc-button
const invoice = // (...invoice generated by backend)
await window.webln.sendPayment(invoice);
confetti();
});
</script>
</body>
</html>
Example replit: https://replit.com/@rolznz/make-me-an-image-lwc-version
import '@getalby/lightning-wallet-connect';
// in your component, listen to lightning wallet connected event
const [lwcConnected, setLwcConnected] = React.useState(false);
React.useEffect(() => {
const onConnected = () => setLwcConnected(true);
window.addEventListener('lwc:connected', onConnected);
return () => {
window.removeEventListener('lwc:connected', onConnected);
};
}, []);
const invoice = // (...invoice generated by backend)
return lwcConnected ? <>
<button onClick={() => window.webln.sendPayment(invoice)}/>
</> : <lwc-button/>;
Open demos
Run yarn install && (cd dev/vite && yarn install)
Run yarn dev
Open dev
yarn build
yarn dev:build
yarn dev:build:browser
yarn test
We are happy to help, please contact us or create an issue.
This project is powered by Lit.
See Get started on the Lit site for more information.
FAQs
Web components to connect to a lightning wallet and power a website with WebLN
The npm package @getalby/lightning-wallet-connect receives a total of 1 weekly downloads. As such, @getalby/lightning-wallet-connect popularity was classified as not popular.
We found that @getalby/lightning-wallet-connect demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.
Security News
Sonar’s acquisition of Tidelift highlights a growing industry shift toward sustainable open source funding, addressing maintainer burnout and critical software dependencies.