Skip to content

Add BIP-329 wallet label support #184

@Musab1258

Description

@Musab1258

Describe the enhancement

This enhancement aims to integrate BIP-329 ("Wallet Labels Export Format") support into bdk-cli. This will allow users to:

  1. Set and manage human-readable labels for wallet items such as transactions (TXIDs), addresses, and UTXOs (outputs).
  2. Import labels from other BIP-329 compliant wallets or previously exported bdk-cli label files.
  3. Export labels in the standard BIP-329 JSONL format for backup or use in other compatible wallet software.
  4. View these labels alongside relevant items in existing bdk-cli list commands (e.g., transactions, unspent).

The implementation will leverage the external bip329 crate for parsing, managing, and persisting label data in a separate .jsonl file (e.g., <wallet_name>.labels.jsonl) within the wallet's data directory.

Use case

Users of bdk-cli will benefit from this feature in several ways:

  • Improved Wallet Management: Instead of relying solely on cryptic identifiers (TXIDs, long addresses), users can add descriptive labels (e.g., "Payment from Steve," "Savings Address," "Coinjoin UTXO"). This significantly improves transaction history comprehension and overall wallet organization.
  • Enhanced Interoperability: By adhering to the BIP-329 standard, users can easily migrate their label data to or from other Bitcoin wallets that support this BIP, reducing vendor lock-in and improving the portability of their wallet metadata.
  • Better Record Keeping: Labels provide context for financial activities, which can be useful for personal accounting or tax purposes.
  • Streamlined Debugging/Testing: Developers using bdk-cli to test BDK applications can label specific test transactions or UTXOs for easier identification and tracking.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions