ddk
The main DLC Dev Kit library for building DLC applications with an integrated BDK wallet.
DDK provides a high-level, pluggable framework with an actor-based architecture for thread-safe, lock-free DLC operations. It integrates wallet management, transport layers, storage backends, and oracle clients into a unified API.
Usage
$ cargo add ddk
Example
use ;
use KormirOracleClient;
use SledStorage;
use LightningTransport;
use Arc;
type ApplicationDdk = DlcDevKit;
async
Key Types
| Type | Description |
|---|---|
DlcDevKit |
Main entry point managing the DLC runtime, wallet, and background tasks |
Builder |
Builder pattern for constructing DlcDevKit instances |
Transport |
Trait for DLC message communication between peers |
Storage |
Trait for contract and wallet data persistence |
Oracle |
Trait for oracle client implementations |
Features
| Feature | Description |
|---|---|
lightning |
Lightning Network transport using LDK |
nostr |
Nostr protocol transport |
sled |
Sled embedded database storage |
postgres |
PostgreSQL storage |
kormir |
Kormir HTTP oracle client |
p2pderivatives |
P2P Derivatives oracle client |
nostr-oracle |
Nostr-based oracle client |
License
This project is licensed under the MIT License.