WIP: Decentralized identity infrastructure for Federated State Networks.
- fsn-crypto - Cryptographic primitives (Ed25519, X25519, AES-GCM)
- fsn-did-core - DID method trait abstractions
- did-key-agent - Ephemeral agent identities (did:key)
- did-wba - Web-based agent identities (did:wba)
The FSN Identity Stack provides two complementary DID methods:
- did:key - Ephemeral agent identities (privacy-preserving, no network)
- did:wba - Stable service identities (web-based, HTTPS resolution)
```toml [dependencies] did-key-agent = "0.1" did-wba = "0.1" ```
```rust use did_key_agent::AgentIdentity;
#[tokio::main] async fn main() -> Result<(), Box> { let agent = AgentIdentity::new().await?; println!("Agent DID: {}", agent.did);
let message = b"Hello, FSN!";
let signature = agent.sign(message).await?;
Ok(())
} ```
```rust use did_key_agent::DidKeyResolver;
let resolver = DidKeyResolver::new(); let doc = resolver.resolve("did:key:z6Mk...")?; ```
``` fsn-identity-stack/ ├── fsn-crypto # Shared cryptographic primitives ├── fsn-did-core # DID method abstractions ├── did-key-agent # Ephemeral identities (FR-2) └── did-wba # Web-based identities (FR-1) ```
| Operation | Throughput | Latency (p50) |
|---|---|---|
| did:key generation | >50k ops/sec | <20μs |
| did:key resolution | >1M ops/sec | <2μs |
| Ed25519 signing | >45k ops/sec | <25μs |
- ✅ TLS 1.3 for did:wba
- ✅ Memory zeroization for keys
- ✅ Constant-time crypto operations
- ✅ No panics on untrusted input
Apache-2.0