Clusters
  • Introduction
    • Overview
    • Concepts
      • Cluster Name
      • Wallet Name
    • Features
      • Communities
      • Multichain
      • Wallet Bundles
      • Antisquatting
      • Wallet Generation
      • Selective Wallet Sharing
  • Getting started
    • Javascript
      • Authentication
      • Clusters
      • Address → Cluster Name
      • Cluster Name → Address
      • Registration
        • Communities
      • Event Indexing
    • API
      • v1
        • Authentication
        • Clusters
        • Address → Cluster Name
        • Cluster Name → Address
        • Registration
          • Communities
        • Event Indexing
      • v0.1 (Deprecated)
        • Address → Cluster
        • Cluster → Address
        • Cluster → Metadata
        • Registration
        • Managing Wallets
  • Resources
    • Smart Contracts
    • Address Types
    • Using Clusters for ETH->SOL Airdrops
  • Integration Guides
    • Convert hex address to clusters name
    • Registering a name
      • Ethereum Networks
      • Solana
    • Whitelabel Communities Registration Flow
Powered by GitBook
On this page
  • Data Hosting
  • Data ingestion
  • Querying data
  1. Resources

Data Availability

Last updated 6 months ago

We'll be rolling out our data availability in conjunction with our Community Clusters launch!

Clusters are composed of a series of events that happen on and off chain. These events include:

  • On chain personal cluster registration & extensions

  • On & off chain community cluster registration & renewals

  • Wallet management

Data Hosting

Data ingestion

[
  [1,"updateWallet",2224,"0x000000000000000000000000f4cb0399fd1b3c370a297fdc21090a28a1366608","0xf4cb0399fd1b3c370a297fdc21090a28a1366608","evm","main",1,1706810479],
  [1,"register",2288,"0x0000000000000000000000002d185421f556ea40bd67f5512cca15f2a793ba55","0x2d185421f556ea40bd67f5512cca15f2a793ba55","evm","peapol26",10000000000000000,1706810483]
]
[
  {
    "eventType": "updateWallet",
    "clusterId": 2224,
    "bytes32Address": "0x000000000000000000000000f4cb0399fd1b3c370a297fdc21090a28a1366608",
    "address": "0xf4cb0399fd1b3c370a297fdc21090a28a1366608",
    "addressType": "evm",
    "data": {
      "name": "main",
      "weiAmount": 1,
    },
    "timestamp": 1706810479
  },
  {
    "eventType": "register",
    "clusterId": 2288,
    "bytes32Address": "0x0000000000000000000000002d185421f556ea40bd67f5512cca15f2a793ba55",
    "address": "0x2d185421f556ea40bd67f5512cca15f2a793ba55",
    "addressType": "evm",
    "data": {
      "name": "peapol26",
      "weiAmount": 10000000000000000,
    },
    "timestamp": 1706810483
  }
]

Once the data has successfully submitted, these transactions are picked up and added to a manifest.

[
 "uWaE1nsM_hyZzARTc-br_5BXB6cfdWDcglJHd-b5pdg",
 "HIxCu-qBwEwnUiEeQso89X2ZqeqxPxSX_penY_B1UCY",
]

Querying data

Querying data consists of:

  1. Retrieving the last known transaction from our manifest uploader wallet (this will include all the transactions that have been pushed to the data availability layer).

  2. In chronological order, retrieving each transaction in the manifest to keep a current record of all events

This data can be queried in different ways:

  1. Make calls directly to an arweave node using the above steps

  2. Use our SDK that consists of both a centralized and decentralized option to return pre-parsed DA layer events

    • getEvents() — Retrieve a centralized live version of the data availabiltiy events

    • getEventsDA() — Communicate directly with an arweave node to retrieve and parse data availability events

  3. Use our RESTful API interface to retrieve a centralized version of the data availabiltiy events

is where our data lives as a permanent data storage layer that is available for user consumption across ~7.2k nodes across the world.

Based on event throughput, data is pushed to the Arweave network every 1-3 hours. ()

Arweave
Sample tx
Architecture of DA