Demos Network Specifications
  • Introduction
    • What is Demos Network
    • Demos Network Architecture
  • FAQ
  • Cookbook
    • Project setup
      • Run the project (MacOS)
      • Run the project (Windows)
        • WSL 2 Setup on Windows (10 and 11 only)
        • Issue Troubleshooting
      • Run the project (Ubuntu)
  • SDK
    • Getting Started
    • WebSDK
      • Authentication
        • FIDO2 Passkeys
          • Under the Hood: FIDO2 Passkeys
      • NodeCalls
      • Transactions
        • Creating a transaction
        • Signing a transaction
        • Broadcasting a transaction
      • L2PS SDK
        • The l2ps module
        • Interacting with the L2PS
        • L2PS Messaging System
      • Instant Messaging
        • What is the Instant Messaging Protocol?
        • Architecture Overview
        • Encryption
        • Quickstart
        • Message Types
        • API Reference
        • FAQ
    • Cross Chain
      • General layout of the XM SDKs
      • EVM
      • BTC
      • Solana
      • MultiversX (EGLD)
      • NEAR
      • IBC
      • TON
      • XRPL
      • The XMScript
      • Identities
    • Demoswork
    • Cookbook
      • Demoswork
        • Creating work steps
        • Conditional Operation
        • Base Operation
        • Signing and broadcasting
      • Transactions
        • Crosschain Transaction
        • Native Transactions
      • SWAP
        • Crosschain SWAP
    • Web2
      • Quick Start
      • DAHR API Reference
        • Types
      • Making Requests
      • Identities
        • Twitter
        • GitHub
    • API Reference
    • Bridges
      • Rubic Bridge Test
    • Post Quantum Cryptography
  • Backend
    • Internal Mechanisms
      • Network Time Synchronization
      • Cross Context Identities
    • Global Change Registry
      • GCR Structure
      • How is GCR Synced?
    • Consensus Mechanism
      • Unparalleled Scalability
      • Decentralization in PoR-BFT
      • Enhanced Security
      • Comparative Advantage
      • Addressing Potential Criticisms
      • Conclusion
    • Communications Stack
    • L2PS (Subnet) Framework
      • How are L2PS transactions handled?
    • Miscellaneous
      • Browsing the Postgres DB via psql
    • Bridges
      • Rubic Bridge
    • Developers Testbed
      • Setting up the environment
      • Setting up the repository
      • Installing dependencies
      • Node Configuration
      • Running the node
  • Frontend
    • Demos Providers Discovery Mechanism
Powered by GitBook
On this page
  • global_change_registry
  • global_change_registry_subnets_txs
  • gcr_tracker
  • gcr_hashes
  1. Backend
  2. Global Change Registry

GCR Structure

PreviousGlobal Change RegistryNextHow is GCR Synced?

Last updated 7 months ago

The following schema shows the internal database structure of the GCR.

The GCR Is comprised of three tables and a metatable.

global_change_registry

This is the primary table where the essential properties of a Demos account within the network are stored. Note that the details row, which is stored in an optimized JSONB format, contains the foundational properties linked to a Demos address.

The extended property simplifies tracking tokens, NFTs, and cross-context properties and operations linked to an address. It is a JSONB field too, allowing for efficient data management and lower overhead.

global_change_registry_subnets_txs

gcr_tracker

This table contains the hashes of each user's global_change_registry entry. Each time a GCR entry is modified, for example after a transaction, its gcr_tracker is updated too with the current hash of that table. This allows for fast, efficient and optimized tracking of the changes in the GCR.

gcr_hashes

This table is separate from the GCR data. As a metadata table, it stores the combined hashes of the global_change_registry_subnets_txs and gcr_tracker tables to generate a GCR Status hash. This is crucial for verifying the consistency of GCR statuses during synchronization and consensus processes.

This table is responsible for holding and indexing all the transactions that happens in a . Note that tx_data contains the encrypted data for that specific Subnet's tx and can only be decrypted by partecipants of the Subnet itself. See How are L2PS transactions handled? for more informations.

Subnet
GCR Structure