Skip to content

grasshaussoftware/chainid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

# ChainID

![Build Status](https://img.shields.io/github/actions/workflow/status/grasshaussoftware/chainid/ci.yml?branch=main&style=flat-square)
![Crates.io](https://img.shields.io/crates/v/chain-id?style=flat-square)
![MSRV](https://img.shields.io/badge/MSRV-1.70.0-orange?style=flat-square)
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)
![Platform](https://img.shields.io/badge/Platform-Avalanche_C--Chain-red?style=flat-square)

**ChainID** is a decentralized, verifiable identity registration solution built natively on the Avalanche C-Chain. By bridging compliance-driven Know Your Customer (KYC) methodologies with immutable blockchain ledger technology, ChainID provides a secure, enterprise-ready infrastructure for Web3 identity management.

This system leverages system-level Rust programming to execute secp256k1 elliptic curve cryptography, robust KYC data obfuscation, and Non-Fungible Token (NFT) identity minting.

## 🏗️ Core Architecture & Security Posture

ChainID is engineered with an uncompromising focus on cryptographic integrity and memory safety.

* **Memory Safety (`zeroize`):** Because the system generates highly sensitive ECC `secp256k1` private keys and BIP-39 24-word recovery mnemonics, protecting data in volatile memory is paramount. All memory buffers containing mnemonics and private keys are cryptographically zeroized (overwritten with null bytes) immediately after the NFT minting payload is constructed.
* **Privacy by Design (KYC Obfuscation):** ChainID adheres strictly to global regulatory compliance by never storing raw Personally Identifiable Information (PII) on the public ledger. Highly sensitive fields are processed through strong cryptographic hash functions (SHA-256) before inclusion in the NFT metadata payload. 
* **Deterministic Builds:** Dependency management is strictly pinned via `Cargo.lock` to prevent upstream supply chain vulnerabilities and ensure deterministic compilation across diverse CI environments.

## ⚙️ Prerequisites

To compile and run ChainID, you must have the Rust toolchain installed.

* **Rust:** Minimum Supported Rust Version (MSRV) is `1.70.0`. 
* Install via [rustup](https://rustup.rs/):
  ```bash
  curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs) | sh

🚀 Installation & Setup

  1. Clone the repository:

    git clone [https://github.com/grasshaussoftware/chainid.git](https://github.com/grasshaussoftware/chainid.git)
    cd chainid
  2. Configure the Environment: ChainID requires a connection to the Avalanche network. Never hardcode your RPC endpoints. Create a .env file in the root directory to securely pass your dynamic RPC URIs (e.g., local Avalanche validator nodes, Alchemy, QuickNode, or the Fuji Testnet).

    # .env
    AVALANCHE_RPC_URL="[https://api.avax-test.network/ext/bc/C/rpc](https://api.avax-test.network/ext/bc/C/rpc)"
  3. Build the project:

    cargo build --release

💻 Usage

ChainID currently operates as a terminal-based workflow application. To launch the CLI and begin the identity generation and minting sequence:

cargo run

Follow the interactive prompts to input KYC parameters, simulate the wallet connection sequence, and receive the resulting QR code outputs intended for offline, cold-storage key management.

🧪 Testing

To run the exhaustive cryptographic unit and integration test suite:

cargo test

🤝 Contributing

We welcome contributions from the open-source Web3 community!

To maintain the structural integrity of the repository, all contributors must adhere to our CONTRIBUTING.md guidelines.

  • Conventional Commits: All pull requests must follow the Conventional Commits specification (e.g., feat:, fix:, refactor:).
  • Code Quality: Ensure your code passes standard Rust formatting and linting checks before submitting a PR:
    cargo fmt --check
    cargo clippy -- -D warnings

For vulnerability reporting, please refer to our SECURITY.md for responsible disclosure policies.

📄 License

This project is licensed to maximize ecosystem adoption and eliminate friction for developers. It is distributed under the MIT License.

See the LICENSE file for complete details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages