Cesar Rodas eb0f5d478e Add Database transaction to the Wallet trait 11 luni în urmă
..
src eb0f5d478e Add Database transaction to the Wallet trait 11 luni în urmă
Cargo.toml 2c2fce9612 chore: remove ctor (#1168) 11 luni în urmă
README.md 21b4080810 FFI bindings for Wallet (#932) 1 an în urmă
uniffi.toml f48660f344 Make Uniffi Records Codable in Swift (#1125) 1 an î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: