diff --git a/compatibility.mdx b/compatibility.mdx new file mode 100644 index 0000000..d954ea6 --- /dev/null +++ b/compatibility.mdx @@ -0,0 +1,52 @@ +--- +title: "Compatibility" +--- + +Send data to and from any device running anywhere, big or small — cloud servers, tablets, or embedded systems. The core peer-to-peer technology is open source and built on open standards, so you're never locked in. + +## Operating Systems + +iroh supports all major operating systems: + +| OS | Supported | +|----|-----------| +| Linux | Yes | +| macOS | Yes | +| Windows | Yes | +| Android | Yes | +| iOS | Yes | +| WebAssembly (browser) | [Yes](/deployment/other-languages#webassembly-and-browsers) | +| FreeRTOS | Yes | + +## Hardware + +iroh runs on a wide range of hardware, from servers to microcontrollers. + +### Tested Platforms + +| Hardware | Notes | +|----------|-------| +| x86\_64 servers & desktops | Fully supported | +| Apple Silicon (M-series) | Fully supported | +| Raspberry Pi | Fully supported | +| ESP32 | Supported with caveats | + +### ESP32 Resource Requirements + +We have built a version of iroh which has been tested on ESP32 with very constrained resources: + +- **4 MiB Flash / 4 MiB RAM** — working, though 4 MiB flash is right at the limit +- **4 MiB Flash / 2 MiB RAM** — also works in testing + +To use iroh on ESP32 in production, [contact us for support & licensing options](https://cal.com/team/number-0/n0-protocol-services?overlayCalendar=true). + +## Network Transports + +| Transport | Status | +|-----------|--------| +| UDP / IP (internet) | Yes | +| WiFi / LAN | Yes | +| Ethernet | Yes | +| Bluetooth (BLE) | [In progress](/transports/bluetooth) | +| Tor | [Yes](/transports/tor) | +| Nym | [Yes](/transports/nym) | diff --git a/deployment/other-languages.mdx b/deployment/other-languages.mdx index 9a96dd7..0ef4178 100644 --- a/deployment/other-languages.mdx +++ b/deployment/other-languages.mdx @@ -1,12 +1,29 @@ --- -title: "Using Iroh in Other Languages" +title: "Language Bindings" --- + While iroh is written in Rust, it can be used in many other languages and environments. There are several practical approaches to using iroh in your language of choice: + +## Language Bindings + +| Language | Status | +|----------|--------| +| [Rust](https://github.com/n0-computer/iroh) | Official | +| [Kotlin](https://github.com/n0-computer/iroh-ffi) | Archived at v0.35 | +| [Swift](https://github.com/n0-computer/iroh-ffi) | Archived at v0.35 | +| [TypeScript](https://github.com/rayhanadev/iroh-ts) | Community | + +The [n0.computer](https://n0.computer) engineering team can help build and maintain production-grade +bindings for your language. [Contact +us](https://cal.com/team/number-0/n0-protocol-services?overlayCalendar=true) to +discuss your requirements. + + ### Write a Wrapper If you're comfortable with a little bit of Rust, write your own small diff --git a/docs.json b/docs.json index 7315008..cd4dbc6 100644 --- a/docs.json +++ b/docs.json @@ -19,6 +19,8 @@ "what-is-iroh", "quickstart", "examples/examples", + "compatibility", + "deployment/other-languages", { "group": "How it works", "expanded": true, @@ -69,6 +71,7 @@ { "group": "Deployment", "pages": [ + "deployment/compatibility", "deployment/dedicated-infrastructure", "deployment/metrics", "deployment/security-privacy",