Building, Managing, and Deploying Blockchain Applications with BlockApps
By Lana Kalashnyk, Global Partner Technology Lead for Blockchain at AWS
Blockchain is a foundational technology that is as promising as it is exciting to explore. What is blockchain? It’s the application of a technology in which a list of records, or blocks, are cryptographically linked to one another via timestamps and other attributes. Blockchains are resistant to data modification since the alteration of one block requires consensus across the recorded chain or ledger.
With blockchain, it truly becomes a journey of identifying new business models, or optimizing existing ones, to drive the right technology selection for the underlying protocol. As with many journeys, you will need a solid plan, the right tools, and a trusted advisor.
As you evaluate blockchain protocols, it’s important to understand the underlying pillars of these architectures. Concepts like immutability, distributed ledgers, smart contracts, and the shared perception of truth or consensus are virtually universal. This makes Ethereum a popular starting point for anyone looking to build decentralized applications, or DApps. But setting up an Ethereum network (IDEs, compilers, wallets, APIs, etc.) can be time consuming and, ultimately, may not validate your use case in a timely manner.
So, what if you want to write your first DApp in a matter of minutes?
BlockApps is a leading provider of Ethereum blockchain development solutions. Their private implementation, written in Haskell, provides a highly scalable Ethereum-compliant blockchain with an industry standard RESTful API and an easy-to-use web-based management dashboard.
These features and quick deployments through AWS Marketplace enable developers to build, test, and deploy smart contracts faster than ever.
Key Components of the BlockApps Platform:
- STRATO Management Dashboard (SMD): Web-based UI for your Private Ethereum Blockchain Network. SMD allows you to interact with user accounts, manage smart contracts in a single dashboard, and explore blocks and transactions. CMD leverages Bloc and STRATO APIs for user and contracts management while offering a SQL-like query interface for smart-contracts leveraging Cirrus.
- Bloc API: A comprehensive API allowing for user, account management, and smart-contracts management.
- STRATO API: Blockchain API for exploring and managing blocks and transactions.
- Cirrus: SQL-like query API for looking up smart-contracts and state changes. Cirrus allows you to index and search smart-contracts by leveraging familiar techniques.
If you would like to try this solution out, check out BlockApps’ STRATO Ethereum Blockchain Platform – Developer Edition on AWS Marketplace.
Building Your First Decentralized Application Stack
Now that we have a base STRATO stack set up, let’s focus on what it means to derive value from a blockchain application. This is where BlockApps’ core tenants driving the direction of STRATO’s platform vision help us out. BlockApps STRATO is a blockchain platform aimed at practical business and consumer usage. They achieve this by focusing on acceleration, ease of use, and performance scale and security.
In practice, this means you can use existing technologies where applicable instead of re-inventing the wheel. You will notice that even though BlockApps leverages the Ethereum protocol and reuses the Solidity compiler (Ethereum Virtual Machine, or EVM) without change. They integrate industry-standard relational databases for search and reporting workloads adjacent to the blockchain and utilize RESTful APIs for integration with client applications.
This can be demonstrated through a Supply Chain Demo App built on top of STRATO platform, along with user and development guides. These resources enable you to examine a sample DApp architecture that combines best practices of control plane separation found in traditional Software Development Methodologies, underpinned by Ethereum and smart contracts.
The diagram in Figure 2 shows a typical decentralized application stack built on top of BlockApps. This is a good visualization of how blockchain-specific components, such as the protocol (i.e. Enterprise Ethereum) and business logic (i.e. smart contracts) can be used to build a full application stack completed by the API layers, application middleware, and user interface.
Blockchain-based applications introduce new possibilities for both peer-to-peer and enterprise optimization solutions. Amazon Web Services (AWS) is investing in blockchain through our partner community. We provide the broadest and deepest capabilities and the largest global infrastructure for building end-to-end blockchain platforms, cost efficiently and at scale. AWS Partners like BlockApps offer a rapidly growing selection of blockchain and distributed ledger solutions with support for multiple protocols.