Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@synonymdev/blocktank-client

Package Overview
Dependencies
Maintainers
3
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@synonymdev/blocktank-client

LSP client library

  • 0.0.51
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

bitkit

Blocktank Client Libary

Description

Client side wrapper library for interacting with the Blocktank LSP server. For REST API docs see synonym.readme.io

Blocktank is an LSP that allows businesses, apps, or online platforms to integrate, automate, and monetize services from your Lightning node. This includes channel configuration, channel purchases, channel info and more.

For widget and complete code samples see blocktank-ui

Rest API docs

https://synonym.readme.io/

Getting started

yarn add @synonymdev/blocktank-client
#or
npm i -S @synonymdev/blocktank-client

Usage

import bt from '@synonymdev/blocktank-client';
// Choose network
bt.setNetwork('mainnet'); // Options are 'mainnet' and 'regtest'

// Get all node info and available services
const info = await bt.getInfo();

const service = info.services[0];

// 1. Place order
const buyRes = await bt.buyChannel({
    product_id: service.product_id,
    channel_expiry: 4,
    remote_balance: 0,
    local_balance: 20000,
});

// 2. Make payment using one of below methods
const {btc_address, ln_invoice} = buyRes;

// 3. Get order details for current state
const order = await bt.getOrder(buy.order_id);

// 4. Make an onchain transaction using the below min fee with RBF disabled to instantly be able to claim your channel
const {zero_conf_satvbyte, zero_conf_satvbyte_expiry} = order;

// Once order state === 100 a channel can be claimed
const {state, stateMessage} = order;

// For all order states see: https://github.com/synonymdev/blocktank-client/blob/f8a20c35a4953435cecf8f718ee555e311e1db9b/src/services/client.ts#L15

// 5. Claim lnurl-channel
const {lnurl_string} = order;

// Or claim manually with an additional method
try {
  await bt.finalizeChannel({
    order_id: order._id,
    node_uri: '0296b2db342fcf87ea94d981757fdf4d3e545bd5cef4919f58b5d38dfdd73bf5c9@34.79.58.84:9735',
    private: true // For mobile nodes that won't be routing transactions
  });
} catch (e) {
  console.error(e);
}

Development

yarn build

Builds library ready for production use.

yarn test

Integration tests.

yarn format

Code formatting.

yarn lint

Code linting.

yarn prepublish

Prepares code for publishing bu building and bumping package version.

Keywords

FAQs

Package last updated on 05 May 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc