Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@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.0/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:modalclosed
window event which fires when Lightning Wallet Connect modal is closedCurrent wallets supported:
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.0/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.
MIT
FAQs
Web components to connect to a lightning wallet and power a website with WebLN
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
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.