Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Entwicklung · SKILL.md

bitcoin-libraries-rust-dlc

bitcoin-libraries-rust-dlc

rust-dlc: Rust DLC implementation. Funding, CET construction, oracle attestation handling, refund logic. USE WHEN: building DLC apps in Rust, integrating oracle-driven Bitcoin contracts.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: bitcoin-libraries-rust-dlc description: | rust-dlc: Rust DLC implementation. Funding, CET construction, oracle attestation handling, refund logic. USE WHEN: building DLC apps in Rust, integrating oracle-driven Bitcoin contracts. allowed-tools: Read, Grep, Glob

rust-dlc

Rust implementation of Discreet Log Contracts. Maintained by Crypto Garage et al.

Repo: github.com/p2pderivatives/rust-dlc.

Install

[dependencies]
dlc = "0.8"
dlc-manager = "0.8"
dlc-messages = "0.8"

0.8.0 (crates.io, 13 December 2025) is the latest release as of September 2026; it succeeded 0.7.1 (12 December 2024). The whole workspace — dlc, dlc-manager, dlc-messages, dlc-trie — is versioned in lockstep, so bump all of them together. 0.8.0 builds against rust-bitcoin 0.32.x and lightning 0.0.125.

Components

  • dlc — primitives (CETs, oracle messages, contract types).
  • dlc-manager — orchestrates the full lifecycle.
  • dlc-messages — wire-format messages.
  • dlc-trie — efficient CET tree for numerical outcomes.

High-level flow

use dlc_manager::Manager;
use dlc_manager::contract::offered_contract::OfferedContract;

let manager = Manager::new(blockchain, wallet, ...);

// Offer side
let offer = manager.send_offer(&counter_party_pubkey, &contract_input)?;

// Accept side (counterparty)
let accept = manager.accept_contract(offer)?;

// Sign side (offerer)
let sign = manager.process_accept(accept)?;

// Confirm
manager.process_sign(sign)?;
manager.broadcast_funding()?;

// At settlement, oracle publishes attestation, manager picks CET
manager.close_contract(...)?;

Oracle integration

Oracles publish nonces upfront, attestations at settlement. rust-dlc handles:

  • Nonce verification.
  • Attestation-to-CET mapping.
  • Adapter signature application.

Use cases

  • Sports betting apps.
  • BTC/USD hedging derivatives.
  • Parametric insurance.
  • Lava, Atomic Finance, other DLC products use rust-dlc.

Common pitfalls

  • Oracle availability: contract is locked until oracle attests (or refund timeout).
  • CET storage: numerical contracts can have thousands of pre-signed CETs; persist properly.
  • Fee management: pre-signed CETs have fixed fees; mempool may reject if fee rates spike.

See also

Gespeicherte Skills