| Crates.io | amaters |
| lib.rs | amaters |
| version | 0.1.0 |
| created_at | 2026-01-14 01:16:50.053806+00 |
| updated_at | 2026-01-19 02:42:43.773126+00 |
| description | AmateRS - Fully Homomorphic Encrypted Distributed Database with Zero Trust Architecture |
| homepage | https://github.com/cool-japan/amaters |
| repository | https://github.com/cool-japan/amaters |
| max_upload_size | |
| id | 2041891 |
| size | 80,955 |
AmateRS is a next-generation distributed database with Fully Homomorphic Encryption (FHE) capabilities, enabling computation on encrypted data without ever exposing plaintext to servers.
This is the meta crate that re-exports all AmateRS components for convenient access.
"Reclaiming Digital Dignity through Computation in the Dark"
Like the sun goddess Amaterasu hiding in the rock cave (Iwato), data remains hidden within a robust cryptographic shell. Yet the light (computational power) emanating from it continues to illuminate the world.
AmateRS resolves the fundamental trade-off between privacy protection and data utilization.
AmateRS consists of four core components inspired by Japanese mythology:
| Component | Origin | Role | Technology |
|---|---|---|---|
| Iwato (岩戸) | Heavenly Rock Cave | Storage Engine | LSM-Tree, WiscKey, io_uring |
| Yata (八咫鏡) | Eight-Span Mirror | Compute Engine | TFHE-rs, GPU acceleration |
| Ukehi (宇気比) | Sacred Pledge | Consensus | Raft, ZK-SNARKs |
| Musubi (結び) | The Knot | Network Layer | gRPC, QUIC, mTLS |
This meta crate provides unified access to all AmateRS components:
| Module | Crate | Description |
|---|---|---|
core |
amaters-core | Storage, compute, types, and errors |
net |
amaters-net | gRPC services and mTLS |
cluster |
amaters-cluster | Raft consensus |
sdk |
amaters-sdk-rust | Client SDK |
Add AmateRS to your Cargo.toml:
[dependencies]
amaters = "0.1"
# Or with specific features
amaters = { version = "0.1", features = ["full"] }
use amaters::prelude::*;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Connect to AmateRS server
let client = AmateRSClient::connect("http://localhost:50051").await?;
// Store encrypted data
let key = Key::from_str("user:123");
let value = CipherBlob::new(vec![/* encrypted bytes */]);
client.set("users", &key, &value).await?;
// Retrieve data
if let Some(data) = client.get("users", &key).await? {
println!("Retrieved {} bytes", data.len());
}
Ok(())
}
use amaters::core::storage::MemoryStorage;
use amaters::core::traits::StorageEngine;
use amaters::prelude::*;
let storage = MemoryStorage::new();
let key = Key::from_str("data");
let value = CipherBlob::new(vec![1, 2, 3]);
storage.put(&key, &value).await?;
let retrieved = storage.get(&key).await?;
use amaters::cluster::{RaftNode, RaftConfig, Command};
let config = RaftConfig::new(1, vec![1, 2, 3]);
let node = RaftNode::new(config)?;
let cmd = Command::from_str("SET key value");
let index = node.propose(cmd)?;
use amaters::sdk::query;
use amaters::prelude::*;
let q = query("users")
.where_clause()
.eq(col("status"), CipherBlob::new(vec![1]))
.build();
| Flag | Description |
|---|---|
default |
No additional features |
full |
Enable all features (mtls + fhe) |
mtls |
Enable mTLS support in networking |
fhe |
Enable full FHE support with TFHE |
If you need only specific functionality, you can use the individual crates directly:
[dependencies]
# Core types and storage
amaters-core = "0.1"
# Network layer
amaters-net = "0.1"
# Consensus
amaters-cluster = "0.1"
# Client SDK
amaters-sdk-rust = "0.1"
Current Version: 0.1.0 (Production Ready)
We welcome contributions! Please see our contribution guidelines.
# Clone the repository
git clone https://github.com/cool-japan/amaters
cd amaters
# Run tests
cargo test --workspace --all-features
# Run clippy
cargo clippy --workspace --all-features -- -D warnings
# Run benchmarks
cargo bench --workspace
# Format code
cargo fmt --all
Licensed under either of:
at your option.
COOLJAPAN OU (Team KitaSan) Contact: contact@cooljapan.tech Website: https://github.com/cool-japan
"We are not just building a database. We are building the Vault of Civilization."