crosschain-connect

Crates.iocrosschain-connect
lib.rscrosschain-connect
version0.1.0
created_at2025-11-02 13:20:54.425846+00
updated_at2025-11-02 13:20:54.425846+00
descriptionUniversal blockchain connection protocol for multi-chain wallets
homepage
repositoryhttps://github.com/aqui-oi/crosschain-connect
max_upload_size
id1913120
size230,936
(zyouax)

documentation

README

🚀 CrossChain Connect

Universal Multi-Blockchain Connection Protocol & Web3 Wallet Support

Rust License Tests Production Ready

Connect to 7 Blockchains with a Single API

23 Networks5 EVM Modules100+ TestsProduction Ready

InstallationQuick StartDocumentationExamples

📚 Documentation

Complete documentation is available in the docs/ folder:

Core Guides

Document Content
docs/GETTING_STARTED.md Installation, basics, common patterns
docs/EVM_ADVANCED.md Advanced Web3 features, gas estimation, token transfers
docs/BLOCKCHAIN_SUPPORT.md All 23 networks, address formats, decimals
docs/API_REFERENCE.md Complete API documentation
docs/EXAMPLES.md 8+ practical code examples

📊 Blockchains Supported

Blockchain Networks Decimals Status
Ethereum 6 chains 18
Bitcoin 4 networks 8
Monero 3 networks 12
Solana 2 networks 9
Cardano 2 networks 6
Polkadot 2 networks 10/12
Cosmos 2 networks 6
TOTAL 23 Networks Multi

🔗 7 Blockchains, 23 Networks

Supported Networks:

  • 🌐 Ethereum - Ethereum, BSC, Polygon, Arbitrum, Optimism, Ducros (6 chains)
  • Bitcoin - Mainnet, Testnet, Signet, Regtest (4 networks)
  • 🔐 Monero - Mainnet, Stagenet, Testnet (3 networks)
  • Solana - Mainnet, Devnet (2 networks)
  • 💎 Cardano - Mainnet, Testnet (2 networks)
  • Polkadot - Mainnet, Westend (2 networks)
  • ⚛️ Cosmos - Hub, Testnet (2 networks)

🏆 Features at a Glance

Feature Support Status
EVM Chains Ethereum, BSC, Polygon, Arbitrum, Optimism, Ducros
Bitcoin Mainnet, Testnet, Signet, Regtest
Monero Mainnet, Stagenet, Testnet
Solana Mainnet, Devnet
Cardano Mainnet, Testnet
Polkadot Mainnet, Westend
Cosmos Hub, Testnet
Address Validation All chains
Balance Checking EVM chains
Gas Estimation EVM chains
Token Transfer EVM chains
Batch Calls EVM chains
Smart Contracts EVM chains
Transaction Signing EVM chains

🏗️ Architecture

src/
├── chains/
│   ├── evm/              (Ethereum, BSC, Polygon, Arbitrum, Optimism, Ducros)
│   ├── btc/              (Bitcoin Mainnet, Testnet, Signet, Regtest)
│   ├── xmr/              (Monero Mainnet, Stagenet, Testnet)
│   ├── solana/           (Solana Mainnet, Devnet)
│   ├── cardano/          (Cardano Mainnet, Testnet)
│   ├── polkadot/         (Polkadot Mainnet, Westend)
│   └── cosmos/           (Cosmos Hub, Testnet)
├── evm_advanced/         (Transactions, Gas, Batch, Tokens, Contracts)
├── security/
│   ├── crypto/           (SHA256, HMAC, Keccak256)
│   ├── qrcode/           (QR code generation)
│   ├── session/          (Session management)
│   └── message/          (Message signing)
├── protocol/             (Connection & transaction protocols)
├── error.rs              (Error types)
└── lib.rs                (Main library)

tests/
├── bitcoin_tests.rs      (7 tests)
├── evm_tests.rs          (8 tests)
├── monero_tests.rs       (8 tests)
├── solana_tests.rs       (tests)
├── cardano_tests.rs      (tests)
├── crypto_tests.rs       (tests)
├── qrcode_tests.rs       (tests)
└── session_tests.rs      (tests)

docs/
├── GETTING_STARTED.md
├── EVM_ADVANCED.md
├── BLOCKCHAIN_SUPPORT.md
├── API_REFERENCE.md
└── EXAMPLES.md

🚀 Quick Start

1️⃣ Installation

Add to your Cargo.toml:

[dependencies]
crosschain-connect = "0.1.0"

2️⃣ Basic Usage

use crosschain_connect::chains::*;

#[tokio::main]
async fn main() -> Result {
    // Ethereum
    let ethereum = Ethereum::new()?;
    let balance = ethereum.get_balance("0x...").await?;
    println!("Balance: {}", balance);
    
    // Bitcoin
    assert!(BitcoinMainnet::validate_address("bc1..."));
    
    // Monero
    assert!(MoneroMainnet::validate_address("4..."));
    
    Ok(())
}

3️⃣ Run Tests

cargo test
# ✅ 100+ tests pass
# ✅ 0 errors
# ✅ 0 warnings

💡 Examples

Validate Addresses

use crosschain_connect::chains::*;

fn validate_addresses() -> Result {
    // Ethereum
    assert!(Ethereum::new()?.validate_address("0x742d35Cc6634C0532925a3b844Bc9e7595f42553"));
    
    // Bitcoin
    assert!(BitcoinMainnet::validate_address("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"));
    
    // Monero
    assert!(MoneroMainnet::validate_address(
        "4AbEH7bHZ9gFP53aMHbkHucJpV5c5cNyQXye47stDs6GozTvHaGaLTCjwjqzx19HiqaSvmc5S1KfqCfP7jqvNQ85Gk7QG4bEh"
    ));
    
    Ok(())
}

Get EVM Balance

use crosschain_connect::chains::evm::*;

#[tokio::main]
async fn get_balances() -> Result {
    let address = "0x742d35Cc6634C0532925a3b844Bc9e7595f42553";
    
    let eth = Ethereum::new()?;
    let bsc = BSC::new()?;
    let polygon = Polygon::new()?;
    
    println!("ETH: {}", eth.get_balance(address).await?);
    println!("BSC: {}", bsc.get_balance(address).await?);
    println!("Polygon: {}", polygon.get_balance(address).await?);
    
    Ok(())
}

Estimate Gas & Transfer Token

use crosschain_connect::evm_advanced::*;

#[tokio::main]
async fn transfer() -> Result {
    let rpc = "https://rpc.aquioi.com";
    
    // Estimate gas
    let gas = GasEstimator::estimate_gas(rpc, "0xfrom", "0xto", None).await?;
    println!("Estimated gas: {}", gas);
    
    // Transfer token
    let tx = TokenTransfer::transfer_token(
        rpc,
        "0xtoken",
        "0xto",
        "1000000000000000000"  // 1 token (18 decimals)
    ).await?;
    println!("TX: {}", tx);
    
    Ok(())
}

🤝 Contributing

Contributions are welcome!

📄 License

MIT License - See LICENSE for details.

⭐ If You Find This Useful

Please consider giving this project a star! It helps others discover the library.


Built with ❤️ for the Web3 Community

DocumentationExamplesLicense

Last Updated: November 2, 2025

Status: ✅ Production Ready

Commit count: 0

cargo fmt