Technical Architecture
System Overview
Quantum Core consists of three main components working together to capture, process, and permanently record quantum randomness on the blockchain.
┌─────────────────────────────────────────────────────────────────┐
│ QUANTUM CORE │
├─────────────────┬─────────────────────┬─────────────────────────┤
│ Publisher │ Smart Contract │ Frontend Dashboard │
│ Service │ (On-Chain) │ (Web Application) │
└─────────────────┴─────────────────────┴─────────────────────────┘Component Details
1. Publisher Service
The publisher is a backend service responsible for:
Fetching quantum random data from the ANU QRNG API
Processing the data (hashing, metadata creation)
Submitting transactions to Solana and XRPL blockchains in parallel
Scheduling regular publication intervals
Technology Stack:
Runtime: Node.js / TypeScript
Blockchain SDKs: @solana/web3.js, xrpl
Hosting: Cloud infrastructure with high availability
Key Functions:
// Fetch quantum random data
fetchQuantumData(): Promise<string>
// Process and hash the data
processQuantumBytes(data: string): { hash: string, timestamp: number }
// Submit to blockchain
publishPulse(hash: string, source: string): Promise<{
solana: TransactionSignature,
xrpl: string
}>2. Solana Smart Contract (Program)
The on-chain program manages the storage and retrieval of quantum pulse data.
Program ID: 6JmMTwYMe7g8ZThH7dxZPCAey9Bda42Wi2HgUz84R3Tn
Network: Solana Devnet
Account Structure:
// State Account - Tracks global statistics
pub struct State {
pub pulse_count: u64, // Total pulses published
pub authority: Pubkey, // Program authority
pub last_timestamp: i64, // Last publication time
}
// Pulse Account - Individual quantum pulse data
pub struct Pulse {
pub id: u64, // Sequential identifier
pub hash: [u8; 32], // SHA-256 hash of quantum data
pub src: String, // Source identifier
pub timestamp: i64, // Unix timestamp
}Instructions:
initialize
Set up program state
publish_pulse
Record a new quantum pulse
Program Derived Addresses (PDAs):
State PDA: Derived from
["state"]seedPulse PDAs: Derived from
["pulse", pulse_id]seeds
3. XRPL Memo Transactions
Quantum pulse data is also recorded on the XRP Ledger using memo transactions.
Destination Address: rs1XDtrWxmyfq2LpMUB3huchx7h61bBsLj
Network: XRPL Testnet
{
TransactionType: "Payment",
Amount: "1", // 1 drop (minimal amount)
Destination: "rs1XDtrWxmyfq2LpMUB3huchx7h61bBsLj",
DestinationTag: timestamp, // For uniqueness
Memos: [{
Memo: {
MemoType: "quantum_pulse", // Hex encoded
MemoData: { // Hex encoded JSON
type: "quantum_pulse",
id: number,
hash: string, // SHA-256 hash
src: "ANU-QRNG",
timestamp: number
}
}
}]
}4. Frontend Dashboard
The web application provides a user interface for viewing and verifying quantum pulses.
Key Features:
Real-time pulse display with multi-chain support
Chain filter (Solana, XRPL, or both)
Historical pulse browsing
On-chain verification links for both explorers
Cross-chain pulse merging (same hash shown as single card)
Educational content
Responsive design (mobile-friendly)
Data Structures
Pulse View (Frontend)
interface PulseView {
id: number; // Pulse identifier
hash: string; // SHA-256 hash (hex string)
src: string; // Source ("ANU-QRNG")
timestamp: number; // Unix timestamp
address: string; // On-chain account address
chain: string; // Blockchain identifier
chains?: ChainInfo[]; // All chains where this pulse exists
}On-Chain Data Layout
┌────────────────────────────────────────────┐
│ Pulse Account │
├────────────────────────────────────────────┤
│ Discriminator │ 8 bytes │
│ ID │ 8 bytes (u64) │
│ Hash │ 32 bytes ([u8; 32]) │
│ Source Length │ 4 bytes (u32) │
│ Source String │ Variable │
│ Timestamp │ 8 bytes (i64) │
└────────────────────────────────────────────┘
┌────────────────────────────────────────────┐
│ Transaction Memo │
├────────────────────────────────────────────┤
│ MemoType │ "quantum_pulse" │
│ MemoData (JSON) │ │
│ - type │ "quantum_pulse" │
│ - id │ number │
│ - hash │ 64-char hex string │
│ - src │ "ANU-QRNG" │
│ - timestamp │ Unix timestamp │
└────────────────────────────────────────────┘Network Configuration
Blockchain RPC Endpoints
SOL Devnet
https://api.devnet.solana.com
XRPL Testnet
wss://s.altnet.rippletest.net:51233
External APIs
ANU QRNG
https://api.quantumnumbers.anu.edu.au
Monitoring and Observability
The system includes monitoring for:
Pulse Publication: Track successful vs failed publications
Transaction Status: Monitor confirmation times
API Health: ANU QRNG availability checks
Wallet Balances: Ensure sufficient SOL and XRP for transactions
Scalability Considerations
The architecture is designed to scale:
Horizontal Scaling: Multiple publisher instances can run concurrently
Efficient Storage: PDAs enable O(1) pulse lookups
Caching: Frontend caches recent pulses for performance
Rate Limiting: Prevents API and RPC overload
Last updated