@nodana/phoenixd-ts
v0.1.3
Published
A TypeScript client for Phoenixd Lightning nodes
Readme
Phoenixd TypeScript Client
TypeScript client for phoenixd nodes with generated declaration files. Works in different JavaScript runtimes including Node.js and React Native.
Installation
npm install @nodana/phoenixd-tsGetting Started
import { Phoenixd } from "@nodana/phoenixd-ts";
import type { NodeInfo } from "@nodana/phoenixd-ts";
const pxd = new Phoenixd(connectionUrl, password);
// async
const info: NodeInfo = await pxd.getInfo();Types
This package ships generated TypeScript declarations from the source.
import { Phoenixd } from "@nodana/phoenixd-ts";
import type {
Balance,
BumpFeeParams,
CloseChannelParams,
CreateInvoiceParams,
CreateInvoiceResponse,
CreateOfferParams,
EstimateLiquidityFeesParams,
ExportPaymentsParams,
IncomingPayment,
ListChannelsResponse,
ListIncomingPaymentsParams,
ListOutgoingPaymentsParams,
LnUrlWithdrawal,
NodeInfo,
OutgoingPayment,
Payment,
PayInvoiceParams,
PayLnAddressParams,
PayOfferParams,
PhoenixdClient,
SendToAddressParams,
WebsocketPayment,
} from "@nodana/phoenixd-ts";Request and response types are exported from the package root. WebsocketPayment
is included as a type only; websocket connection management is left to consuming
applications.
Methods
Create Invoice
createInvoice({
description,
descriptionHash,
amountSat,
expirySeconds,
externalId,
webhookUrl,
});Pay Invoice
payInvoice({ invoice, amountSat, sendAll });Create Offer
createOffer({ description, amountSat });Pay Offer
payOffer({ offer, amountSat, sendAll, message });Pay Lightning Address
payLnAddress({ address, amountSat, sendAll, message });Send To Address
sendToAddress({ amountSat, address, feerateSatByte });Bump Fee
bumpFee({ feerateSatByte });List Incoming Payments
listIncomingPayments({ from, to, limit, offset, all, externalId });Get Incoming Payment
getIncomingPayment(paymentHash);List Outgoing Payments
listOutgoingPayments({ from, to, limit, offset, all });Get Outgoing Payment
getOutgoingPayment(paymentId);Get Outgoing Payment By Hash
getOutgoingPaymentByHash(paymentHash);Export Payments
exportPayments({ from, to });Get Client Info
getInfo();Get Balance
getBalance();Get Lightning Address
getLightningAddress();List Channels
listChannels();Close Channel
closeChannel({ channelId, address, feerateSatByte });Decode Invoice
decodeInvoice({ invoice });Decode Offer
decodeOffer({ offer });Estimate Liquidity Fees
estimateLiquidityFees({ amountSat });LN-URL Pay
lnUrlPay({ lnurl, amountSat, sendAll, message });LN-URL Withdraw
lnUrlWithdraw({ lnurl });LN-URL Auth
lnUrlAuth({ lnurl });See https://phoenix.acinq.co/server/api for full API details.
Contributing
Contributions to this project are welcomed:
- Fork repo
- Create feature branch
- Create PR
I will review as soon as possible.
