Smart contracts are one of the central building blocks of blockchain applications. They define the protocols to facilitate, verify, or enforce negotiation and performance of decentralized communication.

Smart contracts allow the performance of credible transactions without third parties. These transactions are trackable and irreversible. On Aergo, smart contracts power all kinds of decentralized business and crypto-focused applications leveraging the Aergo Chain’s inherent trustless characteristics.

Feature Overview

Building decentralized applications requires learning new tools and languages. Aergo provides an integrated development environment for building decentralized applications that enables everyday developers to use blockchain using familiar technology.

Development

Aergo’s smart contracts are based on Lua, with support for SQL. Aergo Lua provides a powerful, efficient, and flexible programming environment with first-class support for SQL. This makes building on the technology easy for many developers that have not yet touched a blockchain. ASCL, a separate smart contract language being developed by Aergo due for release by the end of 2019, allows developers with a basic background in SQL to pick up and start building smart contracts with a focus on easy data handling.

Data handling

Data handling through smart contracts on Aergo is seamless through a familiar key-value store. It is an optimized key-value data structure provides a familiar environment for existing smart contract developers. Developers can reuse existing data schemes and their knowledge in relational databases through first-class support for SQL and relational storage in Aergo private chains.

Performance

Aergo provides an optimized smart contract engine with just-in-time compilation for lightning fast execution. Its multi-paradigm smart contract environment provides both the performance and flexibility required for building practical decentralized applications.

Aergo Lua

Aergo provides Lua as a basic programming environment for creating smart contracts with support for SQL-like syntax. Through first-class support for SQL in Lua, developers can store and manipulate business data efficiently, infusing flexible business logics. As a result, full-stack developers with basic knowledge in SQL can readily pick up and start creating Aergo smart contracts.

Aergo Lua allows developers to write business logic using the Lua scripting language, while accessing both key-value stores and relational data with SQL. It executes smart contracts utilizing the Lua JIT architecture.

ASCL

Aergo Smart Contract Language (ASCL) provides a PL/SQL-like developer experience which eases the learning curve required for creating smart contracts and increases the portability of business logics and schemes from existing applications. At network launch, Aergo will have support for Aergo Lua, with ASCL being released towards the end of 2019. ASCL is a purpose-built programming language for writing smart contracts. It is a fully featured, Turing-complete language with native support for SQL and blockchain integration.

Aergo Ship

Ship is a package manager that provides an integrated development environment that includes both dependency management and continuous integration. This has long been a pain point in smart contract development on other platforms.

Aergo IDE (Atom)

With the Aergo IDE for Atom, developers can test and deploy smart contracts easily right inside one of the most popular code editors. The IDE provides a rich UI that makes it easy for developers to use the Aergo blockchain without using command line tools or writing extra code.