A flawless synchronization engine for massive datasets.
Two data paths for maximum flexibility: stream files directly between peers via QUIC for real-time gradient exchange, or route 100GB+ tensor payloads through the Arion Sync-Engine for persistent storage. NaCl SealedBox encryption (X25519 + XSalsa20-Poly1305) in Rust before data hits the wire.
Lightning-fast peer-to-peer signaling over QUIC. E2E encrypted signaling via NaCl SealedBox between Node IDs.
Push files directly between peers over QUIC bi-streams. No HTTP intermediary, no storage server. Ideal for real-time gradient exchange and live tensor data.
Store and retrieve files on Hippius Arion — a decentralized storage network. Persist model weights, datasets, and checkpoints without centralized servers.
Automatically generate cryptographic Pre-Signed GET URLs valid for 24 hours. Transmit URLs natively over Iroh QUIC so miners can download massive payloads directly from S3 without bucket credentials.
Node identity loads directly from your Ed25519 secret key file, mapped to your SS58 address via the on-chain AccountProfile pallet for cryptographic integrity.
Say goodbye to environment variable hell. Provision your Subnet Miners beautifully via the
offline hermes_config.json standard, simplifying mass deployments.
import asyncio
from hermes import Config, HermesClient
async def main():
# Load config with subnet whitelisting
config = Config(
node_secret_key_path="/etc/hermes/iroh.key",
ss58_address="5GrwvaEF5zXb26Fz9rcQpDW...",
api_token="sk-your-token",
storage_directory=".hermes_data",
subnet_ids=[42, 69] # Accept traffic from subnets 42 & 69
)
client = await HermesClient.create(config)
# Send model weights directly via P2P QUIC
filename = await client.send_file_unencrypted(
"5FHneW46xGXgs5mUiveU4sbTy...",
"./model_weights.safetensors"
)
print(f"Sent! File: {filename}")
if __name__ == "__main__":
asyncio.run(main())
On-chain public keys. Forward-secret payloads. Zero trust.
import asyncio
from hermes import Config, HermesClient
async def main():
config = Config.from_file("hermes_config.json")
client = await HermesClient.create(config)
# Hermes natively automates the blockchain identity resolution
# and NaCl SealedBox encryption (X25519 + XSalsa20-Poly1305).
await client.send_message_encrypted(
"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY",
"encrypted_message",
b"top secret payload data"
)
print("Payload securely encrypted and delivered!")
if __name__ == "__main__":
asyncio.run(main())