Skip to content

decentral1se/iroh-ffi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iroh-ffi

Foreign Function Interface (FFI) bindings for Iroh

This repo defines Python, Swift, Kotlin and Node.js bindings for iroh, which is written in Rust. The bindings mirror the stabilized iroh 1.0 surface (endpoints, connections, paths, tickets, relays, services); higher-level protocols not yet at 1.0 (iroh-blobs, iroh-docs, iroh-gossip) are out of scope.

Published Packages

Documentation

Per-language API docs are at https://n0-computer.github.io/iroh-ffi/.

If you're blocked on something or need to draw attention to an issue, please reach out to the iroh discord.

Build & test

This repo uses cargo-make as its single build/test entry point:

cargo make test-all          # rust + python + js + kotlin + swift
cargo make test-rust         # just the Rust suite
cargo make bindgen-kotlin    # generate the Kotlin binding
cargo make swift-xcframework # full Apple xcframework (iOS + macOS)

See the per-language READMEs below and DEVELOPERS.md for details. Release flow is documented in RELEASING.md.

Language-Specific READMEs

Developers

Check our DEVELOPERS.md for guides on how to translate from the iroh rust API to the iroh FFI API, as well as how to set up testing for Golang and Python.

Community Bindings

The community has built additional language bindings that are open source and available for use. For the full list, see the official documentation: Using Iroh in Other Languages

Professional Bindings Support

The number0 engineering team can help you build and maintain production-grade language-specific bindings. Contact us to discuss your requirements.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

FFI bindings for iroh

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Kotlin 40.7%
  • C 22.5%
  • Swift 21.7%
  • Rust 10.4%
  • JavaScript 2.3%
  • Python 1.4%
  • Other 1.0%