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
Generate Bindings
# Generate for specific languages
# Generate all languages
# Use --debug for faster development builds
Development & Testing
# Python development with REPL
# Test bindings
Quick Start
# Start development
# In the Python REPL:
>>> dir() # Explore available functions
>>> help() # Get help
Live Tests
The live Python test in tests/test_live_async_onchain_melt.py covers
PreparedMelt.confirm_prefer_async(), immediate and pending melt outcomes,
PendingMelt.wait(), and Wallet.finalize_pending_melts() against
https://testnut.cashudevkit.org.
Language Packages
For production use, see language-specific repositories:
- cdk-swift - iOS/macOS packages
- cdk-kotlin - Android/JVM packages
- cdk-go - Golang packages
- cdk-python - PyPI packages