Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

560 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dytallix

Post-Quantum Secure Blockchain

License TypeScript SDK Rust SDK

Website β€’ Documentation β€’ Discord β€’ Twitter


πŸ” Post-Quantum Security

Dytallix implements NIST FIPS 204 (ML-DSA) post-quantum digital signatures, protecting your transactions against both classical and future quantum computer attacks.

πŸ“¦ What's Included

Directory Description
sdk/typescript/ TypeScript/JavaScript SDK for web & Node.js
sdk/rust/ Rust SDK for high-performance applications
node/ Full blockchain node source code
cli/ Command-line tools
contracts/ Example smart contracts
docs/ Technical documentation

πŸš€ Quick Start

TypeScript SDK

npm install @dytallix/sdk pqc-wasm
import { DytallixClient, PQCWallet, initPQC } from '@dytallix/sdk';

// Initialize PQC module
await initPQC();

// Generate quantum-resistant wallet
const wallet = await PQCWallet.generate();
console.log('Address:', wallet.address);

// Connect to testnet
const client = DytallixClient.testnet();
const status = await client.getStatus();
console.log('Block height:', status.block_height);

// Request testnet tokens
const faucet = await client.requestFaucet(wallet.address, ['DGT', 'DRT']);
console.log('Received:', faucet.dispensed);

// Check balance
const account = await client.getAccount(wallet.address);
console.log('DGT:', account.balances.DGT);
console.log('DRT:', account.balances.DRT);

Rust SDK

# Cargo.toml
[dependencies]
dytallix-sdk = { git = "https://github.com/DytallixHQ/Dytallix", branch = "main" }
tokio = { version = "1", features = ["full"] }
use dytallix_sdk::{Wallet, Client};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Generate PQC wallet
    let wallet = Wallet::generate()?;
    println!("Address: {}", wallet.address());

    // Connect to testnet
    let client = Client::testnet();
    let status = client.get_status().await?;
    println!("Block height: {}", status.block_height);

    // Request tokens & query balance
    client.request_faucet(wallet.address(), &["DGT", "DRT"]).await?;
    let account = client.get_account(wallet.address()).await?;
    println!("DGT: {}", account.dgt_balance());
    
    Ok(())
}

πŸ”§ Running a Node

Docker (Recommended)

git clone https://github.com/DytallixHQ/Dytallix.git
cd Dytallix
docker build -t dytallix-node .
docker run -p 3030:3030 -p 30303:30303 dytallix-node

From Source

# Prerequisites: Rust 1.82+, clang

cd node
cargo build --release
./target/release/dytallix-fast-node

Connect to Testnet

export DYT_CHAIN_ID=dytallix-testnet-1
export DYT_SEED_NODE=178.156.187.81:30303
./target/release/dytallix-fast-node

πŸ“ Smart Contracts

Deploy WASM smart contracts with gas metering:

TypeScript

const wasmHex = Buffer.from(fs.readFileSync('contract.wasm')).toString('hex');
const result = await client.deployContract(wasmHex, wallet.address);
console.log('Contract:', result.address);

// Call contract method
const response = await client.callContract(result.address, 'get_value');
console.log('Result:', response.result);

Rust

let wasm_hex = hex::encode(&std::fs::read("contract.wasm")?);
let result = client.deploy_contract(&wasm_hex, &wallet.address(), None).await?;
println!("Contract: {}", result.address);

🌐 Testnet Resources

Resource URL
RPC Endpoint https://dytallix.com/api
Block Explorer dytallix.com/build/blockchain
Faucet dytallix.com/build/faucet

πŸ’Ž Token Denominations

Token Symbol Description
DGT Dytallix Governance Token Staking & governance
DRT Dytallix Reward Token Transaction fees & rewards

Conversion: 1 DGT = 1,000,000 udgt (micro-units)


πŸ“š Documentation


🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.


πŸ“„ License

This project is licensed under the Apache 2.0 License - see LICENSE for details.


Built with ❀️ by the Dytallix Team

Website β€’ Documentation β€’ Discord

Releases

Packages

Contributors

Languages