cdk-ffi

Crates.iocdk-ffi
lib.rscdk-ffi
version0.13.0
created_at2024-04-10 23:14:34.535991+00
updated_at2025-09-23 13:54:30.405607+00
descriptionFFI bindings for cdk wallet
homepagehttps://github.com/cashubtc/cdk
repositoryhttps://github.com/cashubtc/cdk.git
max_upload_size
id1204202
size272,751
(thesimplekid)

documentation

README

CDK FFI Bindings

UniFFI bindings for the CDK (Cashu Development Kit), providing foreign function interface access to wallet functionality for multiple programming languages.

Supported Languages

  • 🐍 Python - With REPL integration for development
  • 🍎 Swift - iOS and macOS development
  • 🎯 Kotlin - Android and JVM development

Development Tasks

Build & Check

just ffi-build        # Build FFI library (release)
just ffi-build --debug # Build debug version
just ffi-check         # Check compilation
just ffi-clean         # Clean build artifacts

Generate Bindings

# Generate for specific languages
just ffi-generate python
just ffi-generate swift
just ffi-generate kotlin

# Generate all languages
just ffi-generate-all

# Use --debug for faster development builds
just ffi-generate python --debug

Development & Testing

# Python development with REPL
just ffi-dev-python    # Generates bindings and opens Python REPL with cdk_ffi loaded

# Test bindings
just ffi-test-python   # Test Python bindings import

Quick Start

# Start development
just ffi-dev-python

# In the Python REPL:
>>> dir(cdk_ffi)  # Explore available functions
>>> help(cdk_ffi.generate_mnemonic)  # Get help

Language Packages

For production use, see language-specific repositories:

Commit count: 1586

cargo fmt