Developer SDK

C++ examples

Install the SDK · View source on GitHub ↗

C++ SDK installation

C++ consumes sdk/cgo directly. Include urnetwork_sdk.hpp (C++17 and nlohmann/json), or the C header for the manual socket ABI.

Publication status: new package coordinates below describe the intended public release. They are not yet all published. Build the local package while publication is being prepared.

Install with the native package manager

vcpkg add port urnetwork-sdk

Conan: conan install --requires=urnetwork-sdk/ --build=missing. The C/C++ package is shared. Use the first-party registry setup below. Upstream public registry inclusion requires separate maintainer acceptance.

Supported platforms

Same native platform matrix as C. A C ABI handle is not a POSIX fd or a Winsock SOCKET.

GitHub and local builds

Clone sdk and build sdk/cgo. Link the library and install the nlohmann/json dependency for the generated C++ convenience classes.

Examples

  • Integration: service provisioning, scoped client credentials and Device lifecycle.
  • Sockets: TCP/UDP, TLS/DTLS and HTTP client adapters.
  • Messages: live peer discovery and interoperable text/ACK exchange.

Apps use URNETWORK_CLIENT_JWT and a persisted URNETWORK_INSTANCE_ID; only the service backend holds URNETWORK_ROOT_JWT. See the shared contract and official networking research.

Use an SDK release containing the required APIs. The package plan records package names, build outputs and publication gates.

References

First-party registry setup

Conan needs conan remote add urnetwork https:// once; then use the install command above. The release operator supplies that public remote URL. For the generated C++ facade, use -o "urnetwork-sdk/*:cpp=True" to add nlohmann/json.

For vcpkg, create vcpkg-configuration.json in your manifest project with a pinned baseline from the first-party registry:

{"registries":[{"kind":"git","repository":"https://github.com/urnetwork/vcpkg-registry","baseline":"<published-registry-commit>","packages":["urnetwork-sdk"]}]}

Then vcpkg add port urnetwork-sdk and vcpkg install. The first-party repository and remote need their initial release before those commands can resolve the package. Local archives already provide find_package(urnetwork-sdk CONFIG REQUIRED) and the urnetwork::sdk target.