Skip to content

Introduction to BlockApps STRATO

BlockApps STRATO is a rapid deployment blockchain solution built for businesses:

  • Integrate - Easily integrate with legacy web applications and databases using a REST API
  • Manage - Authenticate access to your APIs and protect your critical assets
  • Search - Search millions of smart contracts in seconds using normal easy-to-learn SQL queries
  • Protect - Transact privately with network participants and configure user visibility
  • Upload - Upload existing business data to the blockchain to bootstrap a new project
  • Deploy - Host a STRATO node on Microsoft Azure, AWS, or Google Cloud Platform

Platform Overview

BlockApps has created an implementation of the Enterprise Ethereum protocol, along with tooling and APIs to interact with this implementation. Together, these components form the STRATO platform.

Component Stack

EVM

The Ethereum VM that executes smart contracts based on the Ethereum virtual machine as described in the Ethereum Yellow Paper. These smart contracts are written in the Solidity programming language. Solidity smart contracts are then compiled to byte code that can be executed by the EVM using a Solidity compiler.

P2P

This component interacts with other STRATO nodes, communicating block and transaction information with other participants

Kafka

Internal messaging bus used by various components of the STRATO platform

REST APIs

Various APIs enable developers to interact with STRATO platform, allowing them to perform a variety of tasks such as:

  • Query Blocks and Transactions
  • Submit Transactions
  • User Key Management
  • Contract Metadata Management
  • Compile Smart Contracts
  • Get real-time analytics

Analytics DB

Information from the blockchain is indexed into a relational store for easy retrieval and querying

Management Dashboard

UI to visually interact with and manage the STRATO node and its network.

API Overview

Throughout our documentation, you will see several APIs referred to:

STRATO

The STRATO API is used to interact with on chain data. This information includes:

  • Submitting signed transactions
  • Querying transactions
  • Checking transactionResult
  • Querying block information
  • Querying account information
  • Querying account storage
  • Fauceting accounts

Bloc

The Bloc API manages all off chain data required to interact with the STRATO blockchain. This is the API you will spend the most time working with for a typical application. The Bloc API manages:

  • Private keys encrypted with the user's password
  • Contract Metadata
  • Transaction status tracking
  • Contract State retrieval

Cirrus

The Cirrus API allows users to query smart contracts just like they would in a regualar database. Cirrus search queries are formed using PostgREST conventions, which make it easy to run custom searches of smart contracts:

  • Find all contracts called Escrow
  • Find all contracts where Bob is the sender
  • Find all contracts with a balance of 1000 Ether or less

Apex

The Apex API serves as (1) a file sharing system between nodes, and (2) a backend to the STRATO Management Dashboard. You can use the Apex API in order to:

  • See whether a node is online
  • Get the network stats for a node
  • Upload a dApp