You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Flutter library for LDK Node, a ready-to-go Lightning node library built using LDK and BDK.
LDK Node is a non-custodial Lightning node. Its central goal is to provide a small, simple, and straightforward interface that enables users to easily set up and run a Lightning node with an integrated on-chain wallet. While minimalism is at its core, LDK Node aims to be sufficiently modular and configurable to be useful for a variety of use cases.
The primary abstraction of the library is the Node, which can be retrieved by setting up and configuring a Builder to your liking and calling build(). Node can then be controlled via commands such as start, stop, connectOpenChannel, sendPayment, etc.:
This release covers the same API from LDK Node 0.1.0 Rust. It has support for sourcing chain data via an Esplora server, filesystem persistence, gossip sourcing via the Lightning peer-to-peer network, and configurable entropy sources for the integrated LDK and BDK-based wallets.
Please note: This release is considered experimental, and should not be run in production
How to use ldk_node
To use the ldk_node package in your project, add it as a dependency in your project's pubspec.yaml:
dependencies:
ldk_node:^0.4.2
or add from pub.dev using pub add command
flutter pub add ldk_node
Examples
Build, Start & Sync the local node
import'package:ldk_node/ldk_node.dart';
// ....// Path to a directory where the application may place data that is user-generatedfinal path ="${directory.path}/alice's_node";
// For a node on the testnet network with default config and service // esploraUrl: "https://mempool.space/testnet/api";Builder builder =Builder.testnet()
.setStorageDirPath(path)
.setEntropyBip39Mnemonic(
mnemonic:Mnemonic(
'certain sense kiss guide crumble hint transfer crime much stereo warm coral'));
final node =await builder.build();
// Starting the nodeawait node.start();
// Syncing the nodeawait node.syncWallets();