Skip to content

Nexa-Language/Nexa-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Nexa-net Logo

Nexa-net

Decentralized M2M Communication Infrastructure for AI Agent Networks

License Version Rust Tests Clippy

ไธญๆ–‡็‰ˆ | English

๐Ÿ“š ๆ–‡ๆกฃ: ๆžถๆž„่ฎพ่ฎก | API ๅ‚่€ƒ | ๅผ€ๅ‘ๆŒ‡ๅ—


โšก What is Nexa-net?

Nexa-net ๆ˜ฏไธ€ไธชๅŽปไธญๅฟƒๅŒ–็š„ M2M (Machine-to-Machine) ้€šไฟกๅŸบ็ก€่ฎพๆ–ฝ๏ผŒไธบ AI Agent ็ฝ‘็ปœๆไพ›ๅฎ‰ๅ…จใ€้ซ˜ๆ•ˆใ€็ปๆตŽ็š„ๆœๅŠกๅ‘็ŽฐไธŽ่ฐƒ็”จ่ƒฝๅŠ›ใ€‚ๅฎƒ้‡‡็”จ Sidecar Proxy ๆจกๅผๅฎž็Žฐ้žไพตๅ…ฅๅผ้›†ๆˆ๏ผŒ่ฎฉ็Žฐๆœ‰ AI ๅบ”็”จๆ— ้œ€ไฟฎๆ”นไปฃ็ ๅณๅฏๆŽฅๅ…ฅๅŽปไธญๅฟƒๅŒ–็ฝ‘็ปœใ€‚


๐Ÿ”ฅ Key Features

๐Ÿ” Layer 1: Identity & Trust

ๅŽปไธญๅฟƒๅŒ–่บซไปฝไธŽ้›ถไฟกไปปๅฎ‰ๅ…จๅŸบ็ก€๏ผš

  • Nexa-DID - ๅŸบไบŽ W3C DID ่ง„่Œƒ็š„ๅŽปไธญๅฟƒๅŒ–่บซไปฝไฝ“็ณป
  • mTLS - ๅŒๅ‘ TLS ่ฎค่ฏ๏ผŒ็กฎไฟ้€šไฟกๅฎ‰ๅ…จ
  • Verifiable Credentials - ๅฏ้ชŒ่ฏๅ‡ญ่ฏ๏ผŒๆ”ฏๆŒ่ทจๅŸŸไฟกไปปไผ ้€’

๐Ÿ” Layer 2: Semantic Discovery

่ฏญไน‰้ฉฑๅŠจ็š„ๆ™บ่ƒฝๆœๅŠกๅ‘็Žฐ๏ผš

  • Capability Schema - ็ปŸไธ€็š„่ƒฝๅŠ›ๆ่ฟฐ่ง„่Œƒ
  • Semantic Router - ๅŸบไบŽๅ‘้‡็›ธไผผๅบฆ็š„ๅคšๅ› ๅญ่ทฏ็”ฑ
  • DHT - ๅˆ†ๅธƒๅผๅ“ˆๅธŒ่กจ๏ผŒๆ”ฏๆŒๅคง่ง„ๆจก่Š‚็‚นๅ‘็Žฐ
  • ONNX Embedding - ๆœฌๅœฐๅ‘้‡ๅŒ–๏ผŒๆ”ฏๆŒ่ฏญไน‰ๅŒน้…

โšก Layer 3: Transport & Protocol

้ซ˜ๆ€ง่ƒฝไผ ่พ“ไธŽๅ่ฎฎๅๅ•†๏ผš

  • Frame Protocol - 12 ๅญ—่Š‚็ฒพ็ฎ€ๅธงๅคด๏ผŒ้›ถๆ‹ท่ด่ฎพ่ฎก
  • Streaming RPC - ๅŒๅ‘ๆตๅผ RPC๏ผŒๆ”ฏๆŒๅคง่ง„ๆจกๅนถๅ‘
  • LZ4/Zstd - ้ซ˜ๆ€ง่ƒฝๅŽ‹็ผฉ๏ผŒ้™ไฝŽๅธฆๅฎฝๆถˆ่€—
  • SYN-NEXA/ACK-SCHEMA - ๆ™บ่ƒฝๅ่ฎฎๅๅ•†ๆกๆ‰‹

๐Ÿ’ฐ Layer 4: Economy

ๅพฎไบคๆ˜“็ปๆตŽไธŽ่ต„ๆบ็ฎก็†๏ผš

  • State Channel - Layer 2 ็Šถๆ€้€š้“๏ผŒๆ”ฏๆŒ้ซ˜้ข‘ๅพฎไบคๆ˜“
  • Micro-Receipt - ่ฝป้‡็บงไบคๆ˜“ๅ‡ญ่ฏ๏ผŒ้“พไธ‹็ป“็ฎ—
  • Budget Controller - ้ข„็ฎ—ๆŽงๅˆถ๏ผŒ้˜ฒๆญข่ต„ๆบๆปฅ็”จ

๐Ÿ›ก๏ธ Security Layer

ๅทฅไธš็บงๅฎ‰ๅ…จ้˜ฒๆŠค๏ผš

  • AES-256-GCM - ๅŠ ๅฏ†ๅฏ†้’ฅๅญ˜ๅ‚จ๏ผŒๆ›ฟไปฃ XOR ๅŠ ๅฏ†
  • SecurityManager - ็ปŸไธ€ๅฎ‰ๅ…จๅ่ฐƒๅ™จ๏ผŒๆ•ดๅˆๅฎก่ฎก/ๅฏ†้’ฅ่ฝฎๆข/้€Ÿ็އ้™ๅˆถ
  • Audit Log - ็ป“ๆž„ๅŒ–ๅฎ‰ๅ…จไบ‹ไปถ่ฎฐๅฝ•
  • Key Rotation - ่‡ชๅŠจ/ๆ‰‹ๅŠจๅฏ†้’ฅ่ฝฎๆขๆœบๅˆถ
  • Rate Limiting - Token Bucket + Sliding Window ้€Ÿ็އ้™ๅˆถ

๐ŸŒ API Layer

ๅคšๅ่ฎฎๆŽฅๅ…ฅ๏ผš

  • REST API - 7 ไธช็ซฏ็‚น๏ผˆAxum๏ผ‰๏ผŒๆ”ฏๆŒ JSON ่ฏทๆฑ‚/ๅ“ๅบ”
  • gRPC Health - ๆ ‡ๅ‡† gRPC Health Checking Protocol๏ผˆtonic_health๏ผ‰
  • Rust SDK - NexaClient/NexaClientBuilder๏ผŒ้›ถๆˆๆœฌๆŠฝ่ฑกๆŽฅๅ…ฅ

๐Ÿ“ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        Nexa-net Four-Layer Architecture                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Layer 1: Identity    โ”‚ Nexa-DID, mTLS, Verifiable Credentials          โ”‚
โ”‚  Layer 2: Discovery   โ”‚ Capability Schema, Semantic Router, DHT          โ”‚
โ”‚  Layer 3: Transport   โ”‚ Frame Protocol, Streaming RPC, LZ4/Zstd          โ”‚
โ”‚  Layer 4: Economy     โ”‚ State Channel, Micro-Receipt, Token              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/ouyangyipeng/Nexa-net.git
cd Nexa-net

# Build
cargo build --release

# Run tests
cargo test --lib

Run Nexa-Proxy

# Start the proxy service
cargo run --bin nexa-proxy --release

The proxy service will start on:

  • REST API: http://127.0.0.1:7070/v1
  • gRPC: 127.0.0.1:7071

๐Ÿ’ป SDK Usage

use nexa_net::{
    api::sdk::{NexaClient, NexaClientBuilder},
    types::Did,
};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Build client
    let client = NexaClientBuilder::new()
        .endpoint("http://localhost:7070")
        .timeout_ms(5000)
        .budget(100000)
        .build();

    // Discover services by intent
    let routes = client.discover("translate text to French", 5).await?;
    
    // Make a network call
    let response = client.call("translate", b"Hello, world!".to_vec()).await?;
    
    Ok(())
}

๐Ÿ“ฆ Project Structure

src/
โ”œโ”€โ”€ identity/           # Layer 1: Identity & Zero-Trust
โ”‚   โ”œโ”€โ”€ did.rs          # Nexa-DID implementation
โ”‚   โ”œโ”€โ”€ key_management.rs # Ed25519/X25519 key management
โ”‚   โ””โ”€โ”€ credential.rs   # Verifiable Credentials
โ”œโ”€โ”€ discovery/          # Layer 2: Semantic Discovery
โ”‚   โ”œโ”€โ”€ capability.rs   # Capability registry
โ”‚   โ”œโ”€โ”€ router.rs       # Multi-factor semantic router
โ”‚   โ”œโ”€โ”€ vectorizer.rs   # Semantic vectorization
โ”‚   โ””โ”€โ”€ embedding/      # Embedding module
โ”‚       โ”œโ”€โ”€ mod.rs      # Embedder trait
โ”‚       โ”œโ”€โ”€ mock.rs     # Mock Embedder
โ”‚       โ””โ”€โ”€ onnx.rs     # ONNX Runtime Embedder
โ”œโ”€โ”€ transport/          # Layer 3: Transport Protocol
โ”‚   โ”œโ”€โ”€ frame.rs        # 12-byte frame protocol
โ”‚   โ”œโ”€โ”€ stream.rs       # Multiplexed streams
โ”‚   โ”œโ”€โ”€ rpc.rs          # Streaming RPC engine
โ”‚   โ””โ”€โ”€ negotiator.rs   # SYN-NEXA/ACK-SCHEMA handshake
โ”œโ”€โ”€ economy/            # Layer 4: Economy Layer
โ”‚   โ”œโ”€โ”€ channel.rs      # State channel management
โ”‚   โ”œโ”€โ”€ receipt.rs      # Micro-transaction receipts
โ”‚   โ””โ”€โ”€ budget.rs       # Budget controller
โ”œโ”€โ”€ storage/            # Persistence Layer
โ”‚   โ”œโ”€โ”€ mod.rs          # Storage traits
โ”‚   โ”œโ”€โ”€ memory.rs       # In-memory store
โ”‚   โ”œโ”€โ”€ postgres.rs     # PostgreSQL backend
โ”‚   โ””โ”€โ”€ redis.rs        # Redis cache
โ”œโ”€โ”€ security/           # Security Module
โ”‚   โ”œโ”€โ”€ audit.rs        # Audit logging
โ”‚   โ”œโ”€โ”€ key_rotation.rs # Key rotation
โ”‚   โ”œโ”€โ”€ rate_limit.rs   # Rate limiting
โ”‚   โ””โ”€โ”€ secure_storage.rs # Encrypted storage
โ”œโ”€โ”€ proxy/              # Nexa-Proxy daemon
โ”‚   โ”œโ”€โ”€ server.rs       # REST/gRPC server
โ”‚   โ””โ”€โ”€ config.rs       # Configuration
โ””โ”€โ”€ api/                # SDK Interface
    โ””โ”€โ”€ sdk.rs          # NexaClient SDK

๐Ÿ“Š Frame Protocol

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Nexa-net Frame Format                       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Magic (4B) โ”‚ Type (1B) โ”‚ Flags (1B) โ”‚ StreamID (2B) โ”‚ Len (4B) โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  0x4E584E54 โ”‚  DATA     โ”‚  0x00     โ”‚    0x0001     โ”‚  1024   โ”‚
โ”‚  "NXNT"     โ”‚  ACK      โ”‚  COMPRESS โ”‚               โ”‚         โ”‚
โ”‚             โ”‚  RST      โ”‚  PRIORITY โ”‚               โ”‚         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿงช Testing

485 tests passed | Clippy 0 warnings | cargo fmt clean | 45 Criterion benchmarks

# Run all tests (unit + integration + HTTP E2E)
cargo test

# Run HTTP E2E tests specifically
cargo test --test e2e_http_test

# Run benchmarks
cargo bench

# Lint check
cargo clippy -- -D warnings

Performance highlights (see PERFORMANCE.md):

Metric Result
Route latency ~31 ยตs (3,200x below 100ms target)
Channel TPS ~9.9M ops/s (990x above 10K target)
JSON serialization ~5.6M ops/s (56x above 100K target)
REST API health ~1.2 ms end-to-end
REST API discover ~1.4 ms end-to-end

๐Ÿ“š Documentation

Document Description
Architecture System architecture and design decisions
API Reference REST/gRPC/SDK API documentation
Developer Guide Development setup and contribution guide
Security Security model and best practices
Deployment Production deployment guide

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Inspired by libp2p for P2P networking patterns
  • gRPC for RPC design patterns
  • W3C DID for identity specification

About

The Next Generation Inter-Agent-Communication Net

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages