Cesar Rodas 05a6c8b534 Merge branch 'feature/wallet-db-transactions' into go-ffi 8 luni în urmă
..
.cargo fb07ec4b85 Include cargo config for cdk-ffi to enforce Android page sizes (#1241) 9 luni în urmă
src d958d3912c Remove code that prevent building in golang 8 luni în urmă
Cargo.toml 0e92f80cd8 Merge branch 'feature/wallet-db-transactions' into go-ffi 8 luni în urmă
README.md 21b4080810 FFI bindings for Wallet (#932) 11 luni în urmă
uniffi.toml 9b5c76716b Merge branch 'main' into go-ffi 10 luni în urmă

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: