s5_registry

Crates.ios5_registry
lib.rss5_registry
version1.0.0-beta.1
created_at2025-11-26 05:00:07.29815+00
updated_at2025-11-26 05:00:07.29815+00
descriptionRegistry service for S5
homepage
repositoryhttps://github.com/s5-dev/s5-rs
max_upload_size
id1950965
size124,820
(redsolver)

documentation

README

s5_registry

Iroh-based registry protocol for S5. This crate implements an RPC protocol to access and modify S5 registry entries over the Iroh network.

Features

  • RegistryServer: Exposes a local RedbRegistry (the default local storage backend from s5_core) over an Iroh endpoint.
  • Client: RPC client for the registry protocol.
  • RemoteRegistry: Adapter that implements the s5_core::RegistryApi trait using the RPC client. This allows remote registries to be used interchangeably with local ones in application code.

Protocol

The registry protocol uses irpc over Iroh.

  • ALPN: s5/registry/0
  • Operations:
    • Get(key_type, key_data) -> Option<StreamMessage>
    • Set(StreamMessage) -> Result<()>

Usage

use s5_registry::{Client, RemoteRegistry};
use iroh::Endpoint;

// Connect to a remote registry
let endpoint = Endpoint::builder().bind().await?;
let client = Client::connect(endpoint, remote_addr);

// Use as a RegistryApi
let registry = RemoteRegistry::connect(endpoint, remote_addr);
let msg = registry.get(&key).await?;
Commit count: 0

cargo fmt