# Das SDK installieren

Wähle den nativen Paketmanager deiner Sprache. Go, JavaScript und C/C++ nutzen die Basis-SDKs für Go, JS/WASM und CGo direkt. Die übrigen Sprachpakete wickeln genau diese Implementierungen ein.

**Verfügbarkeit der Releases:** Der kanonische Name `@urnetwork/sdk` und die neuen Sprachpakete warten noch auf ihre Veröffentlichung. Die Befehle unten sind der Installationsvertrag für dieses Release; jeder Sprach-Guide erklärt außerdem lokale Paket-Builds. Die Socket-Beispiele brauchen ein Release, das die neue Socket-API enthält.

| Sprache | Native Installation | Guide |
| --- | --- | --- |
| C | `vcpkg add port urnetwork-sdk` | [C-Guide](/docs/examples/c) |
| C++ | `vcpkg add port urnetwork-sdk` | [C++-Guide](/docs/examples/cpp) |
| C# | `dotnet add package URnetwork.SDK` | [C#-Guide](/docs/examples/csharp) |
| Go | `go get github.com/urnetwork/sdk/v2026@latest` | [Go-Guide](/docs/examples/go) |
| Java | `implementation("io.ur:urnetwork-sdk:<version>")` | [Java-Guide](/docs/examples/java) |
| JavaScript | `npm install @urnetwork/sdk` | [JavaScript-Guide](/docs/examples/javascript) |
| Kotlin | `implementation("io.ur:urnetwork-sdk:<version>")` | [Kotlin-Guide](/docs/examples/kotlin) |
| Python | `pip install urnetwork-sdk` | [Python-Guide](/docs/examples/python) |
| Ruby | `gem install urnetwork-sdk` | [Ruby-Guide](/docs/examples/ruby) |
| Rust | `cargo add urnetwork-sdk` | [Rust-Guide](/docs/examples/rust) |
| Swift | `.package(url: "https://github.com/urnetwork/sdk-swift", exact: "<version>")` | [Swift-Guide](/docs/examples/swift) |
| TypeScript | `npm install @urnetwork/sdk` | [TypeScript-Guide](/docs/examples/typescript) |

Diese Befehle ohne weitere Angaben wählen die Standard- bzw. stabilen Releases. Für Vorabversionen nutze `npm install @urnetwork/sdk@nightly`, `pip install --pre urnetwork-sdk`, `dotnet add package URnetwork.SDK --prerelease` oder `gem install urnetwork-sdk --pre`. Cargo, Maven und SwiftPM können die exakte Vorabversion pinnen. Vorabversionen tragen dieselben Paketnamen wie die stabilen Pakete.

## Java und Kotlin auf Android

Nutze `io.ur:urnetwork-sdk-android:<version>` statt der Koordinate für die Desktop-JVM. Das Android-AAR wird mit gomobile gebaut; Java/Kotlin auf dem Desktop nutzen JNA über der CGo-Runtime. Swift nutzt das bestehende Apple-XCFramework.

## Paketinhalt

Python-Wheels, Ruby-Gems, NuGet-Pakete und Desktop-JVM-Pakete enthalten ihre unterstützten nativen Bibliotheken. Das Rust-Crate lädt zur Build-Zeit ein versionsgepinntes, per Prüfsumme verifiziertes natives Asset herunter und bettet es in die ausführbare Datei ein. Konsumenten brauchen weder einen Go-Compiler noch einen manuellen DLL-Download. Die Unterstützung beschränkt sich auf die Plattformen, die im jeweiligen Release enthalten sind; Linux-Pakete nennen ihre libc-Untergrenze.

Das npm-Paket enthält seine gepaarte Go/WASM-Runtime und die TypeScript-Deklarationen, dazu lauffähige Beispiele für Node und den Browser. Beide nutzen ein konfiguriertes gehostetes Device. Die native fetch-API des Browsers hat keine eigene Socket-Factory; den Axios-Request-Adapter und das Beispiel für Direct Sockets findest du im HTTP-Integrations-Guide der Sprache.

## Beispiele und Socket-Verhalten

Öffne den [Beispiel-Browser](/docs/examples) für das Installations-README jeder Sprache, die Ausführungsanleitung `socket/README.md` und die ausführbaren Quelldateien. Lies [Sockets](/docs/socket) für den Unterschied zwischen einem Kernel-Socket und einem Device-Socket, einschließlich möglicher doppelter Zustellung, wenn UDP das erste Datagramm im Wettlauf über IPv4 und IPv6 schickt.

Für die Installation aus dem Quellcode, das Pinnen von Versionen und alternative Paketmanager nutze die Sprach-Guides oben. C/C++-Rezepte werden in einem konfigurierten eigenen Conan-Remote oder einer eigenen vcpkg-Git-Registry veröffentlicht; füge dieses Remote bzw. diese Registry einmal hinzu, bevor du die Befehle oben ausführst. Die Aufnahme in die öffentlichen Upstream-Sammlungen setzt die Zustimmung ihrer Maintainer voraus. Die Sprach-Guides enthalten diese Einrichtung und die Installation aus einem lokalen CMake-Archiv.
