Skip to content

Backend Blockchain Integration

Solana blockchain integration for immutable commitments.

Overview

Commitments stored on Solana blockchain for: - Immutability - Verifiable provenance - Third-party verification - Transparent audit trail

Architecture

Asset Watermark
    ↓
Hash Commitment
    ↓
Sign with Keypair
    ↓
Create Solana Transaction
    ↓
Submit to Network
    ↓
Wait for Finalization
    ↓
Store Transaction Hash

Commitment Data

{
    "instruction": "create_commitment",
    "asset_id": "uuid",
    "watermark_hash": "sha256hash",
    "timestamp": 1698700000,
    "metadata": {
        "content_hash": "sha256",
        "file_size": 102400,
        "organization_id": "uuid"
    }
}

Verification

Query Solana RPC to verify transaction:

# Fetch transaction
tx = await solana_client.get_transaction(tx_hash)

# Verify data matches
assert tx.data.watermark_hash == stored_hash

# Check finalization
assert tx.confirmation_status == "finalized"

Networks

  • Mainnet: Production commitments
  • Devnet: Development/testing
  • Testnet: Staging environment

Configuration

SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
SOLANA_PROGRAM_ID=CertXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SOLANA_WALLET_PATH=./config/solana-wallet.json

Security

  • Private key stored securely
  • Transaction signing with Ed25519
  • Rate limiting on commitment creation
  • Audit log of all transactions

See Services Documentation for implementation.