Cesar Rodas a40851c8b3 Add Python FFI async support with comprehensive test suite před 10 měsíci
..
.cargo fb07ec4b85 Include cargo config for cdk-ffi to enforce Android page sizes (#1241) před 11 měsíci
src a40851c8b3 Add Python FFI async support with comprehensive test suite před 10 měsíci
tests a40851c8b3 Add Python FFI async support with comprehensive test suite před 10 měsíci
Cargo.toml 6e09566f06 refactor(ffi): extract common SQL database logic and add transaction support před 10 měsíci
README.md 21b4080810 FFI bindings for Wallet (#932) před 1 rokem
uniffi.toml f48660f344 Make Uniffi Records Codable in Swift (#1125) před 1 rokem

README.md

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: