fn main() {
println!("Shadow Network - Simple Demo\n");
println!("=====================================\n");
println!("AVAILABLE EXAMPLES:");
println!();
println!("1. View complete system overview:");
println!(" cargo run --example system_overview");
println!();
println!("2. Run all tests:");
println!(" cargo test --workspace");
println!();
println!("3. Run DHT demo:");
println!(" cargo run --example dht_demo");
println!();
println!("4. Run basic crypto example:");
println!(" cargo run --example basic_encryption");
println!();
println!("5. Test individual modules:");
println!(" cargo test -p shadow-crypto");
println!(" cargo test -p shadow-dht");
println!(" cargo test -p shadow-steganography");
println!(" cargo test -p shadow-storage");
println!();
println!("=====================================");
println!("QUICK START CODE:");
println!();
println!("Cryptography:");
println!(" use crypto::generate_keypair;");
println!(" let keypair = generate_keypair();");
println!(" let ciphertext = crypto::encrypt(&key, data)?;");
println!();
println!("DHT:");
println!(" use dht::DHTNode;");
println!(" let dht = DHTNode::new(peer_id, config);");
println!(" dht.store_value(key, value, owner)?;");
println!();
println!("Steganography:");
println!(" use steganography::ImageSteganography;");
println!(" let stego = ImageSteganography::new(config);");
println!(" let hidden = stego.embed(&image, secret)?;");
println!();
println!("Storage:");
println!(" use storage::ContentStore;");
println!(" let mut store = ContentStore::new(size_limit);");
println!(" store.store(data)?;");
println!();
println!("=====================================");
println!("See README.md for the full documentation.");
println!();
}