• Glossary
  • Support
  • Downloads
  • DataStax Home
Get Live Help
Expand All
Collapse All

DataStax Astra DB Serverless Documentation

    • Overview
      • Release notes
      • Astra DB FAQs
      • Astra DB glossary
      • Get support
    • Getting Started
      • Grant a user access
      • Load and retrieve data
        • Use DSBulk to load data
        • Use Data Loader in Astra Portal
      • Connect a driver
      • Build sample apps
      • Use integrations
    • Planning
      • Plan options
      • Database regions
    • Securing
      • Security highlights
      • Security guidelines
      • Default user permissions
      • Change your password
      • Reset your password
      • Authentication and Authorization
      • Astra DB Plugin for HashiCorp Vault
    • Connecting
      • Connecting private endpoints
        • AWS Private Link
        • Azure Private Link
        • GCP Private Endpoints
        • Connecting custom DNS
      • Connecting Change Data Capture (CDC)
      • Connecting CQL console
      • Connect the Spark Cassandra Connector to Astra
      • Drivers for Astra DB
        • Connecting C++ driver
        • Connecting C# driver
        • Connecting Java driver
        • Connecting Node.js driver
        • Connecting Python driver
        • Drivers retry policies
      • Connecting Legacy drivers
      • Get Secure Connect Bundle
    • Migrating
      • Components
      • FAQs
      • Preliminary steps
        • Feasibility checks
        • Deployment and infrastructure considerations
        • Create target environment for migration
        • Understand rollback options
      • Phase 1: Deploy ZDM Proxy and connect client applications
        • Set up the ZDM Proxy Automation with ZDM Utility
        • Deploy the ZDM Proxy and monitoring
        • Configure Transport Layer Security
        • Connect client applications to ZDM Proxy
        • Leverage metrics provided by ZDM Proxy
        • Manage your ZDM Proxy instances
      • Phase 2: Migrate and validate data
      • Phase 3: Enable asynchronous dual reads
      • Phase 4: Change read routing to Target
      • Phase 5: Connect client applications directly to Target
      • Troubleshooting
        • Troubleshooting tips
        • Troubleshooting scenarios
      • Glossary
      • Contribution guidelines
      • Release Notes
    • Managing
      • Managing your organization
        • User permissions
        • Pricing and billing
        • Audit Logs
        • Bring Your Own Key
          • BYOK AWS Astra DB console
          • BYOK GCP Astra DB console
          • BYOK AWS DevOps API
          • BYOK GCP DevOps API
        • Configuring SSO
          • Configure SSO for Microsoft Azure AD
          • Configure SSO for Okta
          • Configure SSO for OneLogin
      • Managing your database
        • Create your database
        • View your databases
        • Database statuses
        • Use DSBulk to load data
        • Use Data Loader in Astra Portal
        • Monitor your databases
        • Export metrics to third party
          • Export metrics via Astra Portal
          • Export metrics via DevOps API
        • Manage access lists
        • Manage multiple keyspaces
        • Using multiple regions
        • Terminate your database
      • Managing with DevOps API
        • Managing database lifecycle
        • Managing roles
        • Managing users
        • Managing tokens
        • Managing BYOK AWS
        • Managing BYOK GCP
        • Managing access list
        • Managing multiple regions
        • Get private endpoints
        • AWS PrivateLink
        • Azure PrivateLink
        • GCP Private Service
    • Astra CLI
    • Astra Block
      • Quickstart
      • FAQ
      • Data model
      • About NFTs
    • Developing with Stargate APIs
      • Develop with REST
      • Develop with Document
      • Develop with GraphQL
        • Develop with GraphQL (CQL-first)
        • Develop with GraphQL (Schema-first)
      • Develop with gRPC
        • gRPC Rust client
        • gRPC Go client
        • gRPC Node.js client
        • gRPC Java client
      • Develop with CQL
      • Tooling Resources
      • Node.js Document API client
      • Node.js REST API client
    • Stargate QuickStarts
      • Document API QuickStart
      • REST API QuickStart
      • GraphQL API CQL-first QuickStart
    • API References
      • DevOps REST API v2
      • Stargate Document API v2
      • Stargate REST API v2
  • DataStax Astra DB Serverless Documentation
  • Astra Block

Astra Block overview

Astra Block is a blockchain data service that offers real-time indexed blockchain data for building Web3 and decentralized applications (dapps).

With Astra Block, you can stream a sanitized blockchain dataset into an Astra database in real-time. The second a new block is mined, your Astra database will immediately be updated with the new, clean blockchain data.

How it works

One of the challenges facing Web3 app developers is finding a way to effectively query the blockchain. The blockchain is notoriously difficult to query directly, and trying to read anything other than basic data usually results in unacceptable levels of performance.

To solve this, many Web3 applications have started to rely on blockchain indexing services to create an intelligent mix of on and off-chain data. These indexing services read data from the blockchain, process the data into an organized format, and store the clean data in a database. Applications can then read the indexed data from the database, allowing for more complex queries (like aggregations) at a significantly faster speed than querying the blockchain directly.

However, building and maintaining a blockchain indexing service can often be more challenging than developing the end application itself. Astra Block addresses this challenge by providing an always up-to-date, human-readable copy of the blockchain that comes pre-configured with a development-ready data model that leverages the speed, scale, and resiliency of Apache Cassandra®.


An architectural diagram of Astra Block.


The Astra Block architecture starts with a blockchain indexer (internally-managed by DataStax) that reads the raw data from the blockchain, decodes and enriches the data into a human-readable format, and then writes the enriched data to an internal primary blockchain database hosted in Astra. The indexer automatically subscribes to new blocks so that whenever a block is added to the chain, data is immediately updated in the primary database.

Astra users can create Block-enabled databases in their own Astra organizations and sync blockchain data to them from the primary database. A Block-enabled database can be configured to sync the entirety of a blockchain dataset, or or just a selection of tables in the data model. Also, since the primary database contains a complete index of the entire blockchain, users can choose to backfill historical data, sync just new data, or both.

After a Block-enabled database has been created and configured to sync blockchain data, the data can then be consumed by end-user applications using any of the connection methods supported by Astra.

Supported blockchains

Astra Block supports the following blockchains:

  • Ethereum Mainnet

Next steps

To get started with Astra Block, see Astra Block quickstart.

To learn more about Astra Block:

  • Astra Block FAQ

  • About the Astra Block data model

Sample apps

View Astra Block in action with these sample apps:

  • NFT Explorer

  • Ethereum Explorer

Astra CLI Quickstart

General Inquiries: +1 (650) 389-6000 info@datastax.com

© DataStax | Privacy policy | Terms of use

DataStax, Titan, and TitanDB are registered trademarks of DataStax, Inc. and its subsidiaries in the United States and/or other countries.

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.

Kubernetes is the registered trademark of the Linux Foundation.

landing_page landingpage