Skip to content

feat: Rust SDK (sdk/rust/) — ed25519-dalek + rusqlite #3

@tgosoul2019

Description

@tgosoul2019

Context

Suggested by Grok during LLM evaluation. Rust is critical for: embedded systems, WebAssembly targets, and high-performance agent runtimes.

Proposed Structure

sdk/rust/
├── Cargo.toml
├── src/
│   ├── lib.rs          # KCPNode public API
│   ├── models.rs       # Artifact, Lineage, ACL structs
│   ├── crypto.rs       # ed25519-dalek + sha2
│   ├── store.rs        # rusqlite storage backend
│   └── error.rs        # KCPError enum
└── tests/
    └── integration.rs  # Full test suite

Key Dependencies

Crate Purpose
ed25519-dalek Ed25519 signing + verification
sha2 SHA-256 content hashing
rusqlite SQLite storage backend
uuid UUIDv4 artifact IDs
serde / serde_json Serialization
chrono ISO 8601 timestamps

Target: 50+ tests

Following the same test matrix as Go SDK (sdk/go/, 64 tests).

Stretch Goal: WASM target

[lib]
crate-type = ["cdylib", "rlib"]  # enables wasm-pack

This would allow KCP to run directly in the browser or in Cloudflare Workers.

Acceptance Criteria

  • sdk/rust/ directory with Cargo.toml
  • KCPNode struct with publish, search, get, verify, lineage
  • Ed25519 + SHA-256 matching Python reference implementation
  • SQLite backend (same schema as Python SDK)
  • ≥ 50 tests passing with cargo test
  • sdk/rust/README.md

Related

  • Python SDK reference: sdk/python/kcp/
  • Go SDK reference: sdk/go/pkg/

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestroadmapPlanned for future developmentsdkSDK-specific issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions