MiguelMedeiros / lnbits-js

NPM Package for LNBits.com API.
23 stars 14 forks source link

LNBits JS API

npm version NPM Known Vulnerabilities License: MIT


Easy way to add LNBits API to your JS application.


References


Donate

Help me to stack sats! :blush:

bc1qg2sm9tjqy35j50g0zf27s0e8fhflrame5d7q3s

Or donate via Lightning Network!


Features


Installation

Using npm:

$ npm install lnbits

Using yarn:

$ yarn add lnbits

Usage

Initial Configuration

const LNBits = require('lnbits').default; // using require

import LNBits from 'lnbits'; // using import

const { wallet, userManager, paywall, withdraw, paylink, tpos } = LNBits({
  adminKey: 'd00265e7de5f44f59b2408d9f0564181',
  invoiceReadKey: '23e34be59d57408688a74500a3f24f03',
  endpoint: 'https://lnbits.com', //default
});


Wallet

Wallet Details

[ Example ] [ top ]

const walletDetails = await wallet.walletDetails();
console.log(walletDetails);


Create Invoice

[ Example ] [ top ]

Parameters:

const newInvoice = await wallet.createInvoice({
  amount: 10,
  memo: 'test',
  out: false,
});
console.log(newInvoice);


Pay Invoice

[ Example ] [ top ]

Parameters:

const newPayInvoice = await wallet.payInvoice({
  bolt11: '',
  out: true,
});
console.log(newPayInvoice);


Check Invoice

[ Example ] [ top ]

Parameters:

const checkinvoice = await wallet.checkInvoice({
  payment_hash: '...',
});
console.log(checkinvoice);


User Manager

Get Users

[ Example ] [ top ]

const users = await userManager.getUsers();
console.log(users);


Get Wallets

[ Example ] [ top ]

Parameters:

const wallets = await userManager.getWallets({
  user_id: '355c5110bed24744bebb12aecf8fad14',
});
console.log(wallets);


Get Transactions

[ Example ] [ top ]

Parameters:

const tx = await userManager.getTransactions({
  wallet_id: '4a18ae4b204044069bd349a37ba0be1d',
});
console.log(tx);


Create User

[ Example ] [ top ]

Parameters:

const user = await userManager.createUser({
  admin_id: '355c5110bed24744bebb12aecf8fad14',
  user_name: 'user',
  wallet_name: 'wallet',
});
console.log(user);


Delete User

[ Example ] [ top ]

Parameters:

const userDeleted = await userManager.deleteUser({
  user_id: 'b7cab6e3744347f2b6516510f5d40e9d',
});
console.log(userDeleted);


Delete Wallet

[ Example ] [ top ]

Parameters:

const walletDeleted = await userManager.deleteWallet({
  wallet_id: '0d52c8a832f84f9b86bd993b985e6f10',
});
console.log(walletDeleted);


Active Extension

[ Example ] [ top ]

Parameters:

const extension = await userManager.activeExtension({
  userid: '355c5110bed24744bebb12aecf8fad14',
  extension: 'usermanager',
  active: true,
});
console.log(extension);


Paywall

Get Paywalls

[ Example ] [ top ]

const paywalls = await paywall.getPaywalls();
console.log(paywalls);


Create Paywall

[ Example ] [ top ]

Parameters:

const paywallNew = await paywall.createPaywall({
  amount: 10,
  description: 'teste',
  memo: 'teste memo',
  remembers: false,
  url: 'https://teste.com',
});
console.log(paywallNew);


Create Invoice

[ Example ] [ top ]

Parameters:

const invoice = await paywall.createInvoice({
  amount: 10,
  paywall_id: '3UWoiHV7SYCytUjMfG8ySq',
});
console.log(invoice);


Check Invoice

[ Example ] [ top ]

Parameters:

const invoiceCheck = await paywall.checkInvoice({
  paywall_id: '3UWoiHV7SYCytUjMfG8ySq',
  payment_hash:
    'e73dc54e857823b7c0bdd3faf6c0f6e8af2b07556fdc304cc8fe7c692a2562e8',
});
console.log(invoiceCheck);


Delete Paywall

[ Example ] [ top ]

Parameters:

const paywallDeleted = await paywall.deletePaywall({
  paywall_id: '3UWoiHV7SYCytUjMfG8ySq',
});
console.log(paywallDeleted);


Withdraw

Get Links

[ Example ] [ top ]

const withdrawLinks = await withdraw.getLinks({
  withdraw_id: '5o57EM9Qty5CLQB2QNjQ2p',
});
console.log(withdrawLinks);


Create Link

[ Example ] [ top ]

Parameters:

const link = await withdraw.createLink({
  title: 'title',
  min_withdrawable: 10,
  max_withdrawable: 20,
  uses: 10,
  wait_time: 3600,
  is_unique: false,
});
console.log(link);


Update Link

[ Example ] [ top ]

Parameters:

const linkUpdated = await withdraw.updateLink({
  withdraw_id: 'aaWVY3cu655xHxJpYLJhcA',
  title: 'title',
  min_withdrawable: 10,
  max_withdrawable: 20,
  uses: 10,
  wait_time: 3600,
  is_unique: false,
});
console.log(linkUpdated);


Delete Link

[ Example ] [ top ]

Parameters:

const linkDeleted = await withdraw.deleteLink({
  withdraw_id: 'aaWVY3cu655xHxJpYLJhcA',
});
console.log(linkDeleted);


TPoS

Get TPoS

[ Example ] [ top ]

const tposs = await tpos.getTPoS();
console.log(tposs);


Create TPoS

[ Example ] [ top ]

Parameters:

const tposNew = await tpos.createTPoS({
  currency: 'usd',
  name: 'teste tpos',
});
console.log(tposNew);


Delete TPoS

[ Example ] [ top ]

Parameters:

const tposDeleted = await tpos.deleteTPoS({
  tpos_id: 'PCXNcLsoLSaBhUybxHfoCN',
});
console.log(tposDeleted);

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.


License MIT